欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

FreeMarker整合Spring 3

系統 2189 0

開發環境:

System:Windows

WebBrowser:IE6+、Firefox3+

JavaEE Server:tomcat5.0.2.8、tomcat6

IDE:eclipse、MyEclipse 8

開發依賴庫:

JavaEE5、Spring 3.0.0.M4、FreeMarker 2.3.16

Email:hoojo_@126.com

Blog: http://blog.csdn.net/IBM_hoojo

http://hoojo.cnblogs.com/

?

1、 新建WebProject,工程名稱是SpringFreemarker;然后手動添加jar包,需要的jar包如下:

FreeMarker整合Spring 3_第1張圖片

SpringFramework jar包下載地址:

http://ebr.springsource.com/repository/app/library/version/detail?name=org.springframework.spring&version=3.0.5.RELEASE

FreeMarker library下載地址:

http://ebr.springsource.com/repository/app/bundle/version/detail?name=com.springsource.freemarker&version=2.3.15

當然你也可以去官方下載

2、 在web.xml中添加如下配置:

        
          <!-- 加載Spring容器配置 -->
        
      
        
          <
        
        
          listener
        
        
          >
        
      
        
          <
        
        
          listener-class
        
        
          >
        
        org.springframework.web.context.ContextLoaderListener
        
          </
        
        
          listener-class
        
        
          >
        
      
        
          </
        
        
          listener
        
        
          >
        
      
        
          <!-- 設置Spring容器加載配置文件路徑 -->
        
      
        
          <
        
        
          context-param
        
        
          >
        
      
        
          <
        
        
          param-name
        
        
          >
        
        contextConfigLocation
        
          </
        
        
          param-name
        
        
          >
        
      
        
          <
        
        
          param-value
        
        
          >
        
        classpath*:applicationContext-*.xml
        
          </
        
        
          param-value
        
        
          >
        
      
        
          </
        
        
          context-param
        
        
          >
        
      
        ?
      
        
          <
        
        
          servlet
        
        
          >
        
      
        
          <
        
        
          servlet-name
        
        
          >
        
        dispatcher
        
          </
        
        
          servlet-name
        
        
          >
        
      
        
          <
        
        
          servlet-class
        
        
          >
        
        org.springframework.web.servlet.DispatcherServlet
        
          </
        
        
          servlet-class
        
        
          >
        
      
        
          <
        
        
          init-param
        
        
          >
        
      
        
          <
        
        
          param-name
        
        
          >
        
        contextConfigLocation
        
          </
        
        
          param-name
        
        
          >
        
      
        
          <
        
        
          param-value
        
        
          >
        
        /WEB-INF/dispatcher.xml
        
          </
        
        
          param-value
        
        
          >
        
      
        
          </
        
        
          init-param
        
        
          >
        
      
        
          <
        
        
          load-on-startup
        
        
          >
        
        1
        
          </
        
        
          load-on-startup
        
        
          >
        
      
        
          </
        
        
          servlet
        
        
          >
        
      
        ?
      
        
          <
        
        
          servlet-mapping
        
        
          >
        
      
        
          <
        
        
          servlet-name
        
        
          >
        
        dispatcher
        
          </
        
        
          servlet-name
        
        
          >
        
      
        
          <
        
        
          url-pattern
        
        
          >
        
        *.do
        
          </
        
        
          url-pattern
        
        
          >
        
      
        
          </
        
        
          servlet-mapping
        
        
          >
        
      

上面分別是添加Spring的監聽器、以及配置Spring的配置文件、還有SpringMVC的控制器;

3、 在WEB-INF中添加文件dispatcher.xml,和web.xml中的對應。內容如下:

        
          <?
        
        
          xml
        
        
          version
        
        
          ="1.0"
        
        
          encoding
        
        
          ="UTF-8"
        
        ?
        
          >
        
      
        
          <
        
        
          beans
        
        
          xmlns
        
        
          ="http://www.springframework.org/schema/beans"
        
      
        
          xmlns:mvc
        
        
          ="http://www.springframework.org/schema/mvc"
        
        
          xmlns:context
        
        
          ="http://www.springframework.org/schema/context"
        
      
        
          xmlns:util
        
        
          ="http://www.springframework.org/schema/util"
        
        
          xmlns:xsi
        
        
          ="http://www.w3.org/2001/XMLSchema-instance"
        
      
        
          xsi:schemaLocation
        
        
          ="http://www.springframework.org/schema/beans 
        
        
          >
        
      
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      
            http://www.springframework.org/schema/mvc
      
            http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
      
            http://www.springframework.org/schema/context 
      
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
      
            http://www.springframework.org/schema/util
      
            http://www.springframework.org/schema/util/spring-util-3.0.xsd"
      
        ?
      
        
          <
        
        
          context:component-scan
        
        
          base-package
        
        
          ="com.hoo"
        
        
          />
        
      
        ?
      
        
          <!-- annotation的方法映射適配器 
        
      
        
              <bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
        
      
        
              -->
        
      
        
          <!--  annotation默認的方法映射適配器 -->
        
      
        
          <
        
        
          bean
        
        
          id
        
        
          ="handlerMapping"
        
        
          class
        
        
          ="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"
        
        
          />
        
      
      
        
          <
        
        
          bean
        
        
          class
        
        
          ="org.springframework.web.servlet.view.InternalResourceViewResolver"
        
        
          >
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="viewClass"
        
        
          value
        
        
          ="org.springframework.web.servlet.view.JstlView"
        
        
          />
        
      
        
          </
        
        
          bean
        
        
          >
        
      
      
        
          </
        
        
          beans
        
        
          >
        
      
        ?
      

上面是SpringMVC的基本配置

4、 在src中添加applicationContext-beans.xml,內容如下:

        
          <?
        
        
          xml
        
        
          version
        
        
          ="1.0"
        
        
          encoding
        
        
          ="UTF-8"
        
        ?
        
          >
        
      
        
          <
        
        
          beans
        
        
          xmlns
        
        
          ="http://www.springframework.org/schema/beans"
        
      
        
          xmlns:xsi
        
        
          ="http://www.w3.org/2001/XMLSchema-instance"
        
      
        
          xmlns:aop
        
        
          ="http://www.springframework.org/schema/aop"
        
      
        
          xmlns:tx
        
        
          ="http://www.springframework.org/schema/tx"
        
      
        
          xmlns:util
        
        
          ="http://www.springframework.org/schema/util"
        
      
        
          xmlns:context
        
        
          ="http://www.springframework.org/schema/context"
        
      
        
          xsi:schemaLocation
        
        
          ="http://www.springframework.org/schema/beans 
        
        
          >
        
      
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
      
            http://www.springframework.org/schema/aop 
      
            http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
      
            http://www.springframework.org/schema/tx 
      
            http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
      
            http://www.springframework.org/schema/util 
      
            http://www.springframework.org/schema/util/spring-util-3.0.xsd
      
            http://www.springframework.org/schema/context 
      
            http://www.springframework.org/schema/context/spring-context-3.0.xsd"
      
        
          </
        
        
          beans
        
        
          >
        
      

里面可以添加一些bean的配置

5、 在src目錄添加freemarker.properties配置文件,這個文件是freemarker一些常用的轉換,內容如下:

        tag_syntax=auto_detect
      
        template_update_delay=2
      
        default_encoding=UTF-8
      
        output_encoding=UTF-8
      
        locale=zh_CN
      
        date_format=yyyy-MM-dd
      
        time_format=HH:mm:ss
      
        datetime_format=yyyy-MM-dd HH:mm:ss
      

6、 在dispatcher.xml中添加freemarker的配置,配置如下:

        
          <!-- 設置freeMarker的配置文件路徑 -->
        
      
        
          <
        
        
          bean
        
        
          id
        
        
          ="freemarkerConfiguration"
        
        
          class
        
        
          ="org.springframework.beans.factory.config.PropertiesFactoryBean"
        
        
          >
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="location"
        
        
          value
        
        
          ="classpath:freemarker.properties"
        
        
          />
        
      
        
          </
        
        
          bean
        
        
          >
        
      
        ?
      
        
          <!-- 配置freeMarker的模板路徑 -->
        
      
        
          <
        
        
          bean
        
        
          id
        
        
          ="freemarkerConfig"
        
        
          class
        
        
          ="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"
        
        
          >
        
      
        
          <!--property name="freemarkerSettings" ref="freemarkerConfiguration"/-->
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="templateLoaderPath"
        
        
          >
        
      
        
          <
        
        
          value
        
        
          >
        
        /WEB-INF/ftl/
        
          </
        
        
          value
        
        
          >
        
      
        
          </
        
        
          property
        
        
          >
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="freemarkerVariables"
        
        
          >
        
      
        
          <
        
        
          map
        
        
          >
        
      
        
          <
        
        
          entry
        
        
          key
        
        
          ="xml_escape"
        
        
          value-ref
        
        
          ="fmXmlEscape"
        
        
          />
        
      
        
          </
        
        
          map
        
        
          >
        
      
        
          </
        
        
          property
        
        
          >
        
      
        
          </
        
        
          bean
        
        
          >
        
      
        ?
      
        
          <
        
        
          bean
        
        
          id
        
        
          ="fmXmlEscape"
        
        
          class
        
        
          ="freemarker.template.utility.XmlEscape"
        
        
          />
        
      
        ?
      
        
          <!-- 配置freeMarker視圖解析器 -->
        
      
        
          <
        
        
          bean
        
        
          id
        
        
          ="viewResolver"
        
        
          class
        
        
          ="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver"
        
        
          >
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="viewClass"
        
        
          value
        
        
          ="org.springframework.web.servlet.view.freemarker.FreeMarkerView"
        
        
          />
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="viewNames"
        
        
          value
        
        
          ="*.ftl"
        
        
          />
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="contentType"
        
        
          value
        
        
          ="text/html; charset=utf-8"
        
        
          />
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="cache"
        
        
          value
        
        
          ="true"
        
        
          />
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="prefix"
        
        
          value
        
        
          =""
        
        
          />
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="suffix"
        
        
          value
        
        
          =""
        
        
          />
        
      
        
          <
        
        
          property
        
        
          name
        
        
          ="order"
        
        
          value
        
        
          ="2"
        
        
          />
        
      
        
          </
        
        
          bean
        
        
          >
        
      

上面最關鍵的就是freeMarker的視圖解析器viewResolver的配置,viewClass是使用哪個視圖解析器,這里是類路徑;其他的和jsp的視圖解析器都很類似。

7、 下面在WEB-INF中添加2個ftl模板,在WEB-INF添加ftl,然后添加hello.ftl/hi.ftl,內容分別是:

hello.ftl

        
          <
        
        
          html
        
        
          >
        
      
        
          <
        
        
          body
        
        
          >
        
      
        
          <
        
        
          h1
        
        
          >
        
        say hello ${name}
        
          </
        
        
          h1
        
        
          ><
        
        
          br
        
        
          />
        
      
            ${(1 == 1)?string("yes", "no")}
      
        
          </
        
        
          body
        
        
          >
        
      
        
          </
        
        
          html
        
        
          >
        
      

hi.ftl

        
          <
        
        
          html
        
        
          >
        
      
        
          <
        
        
          body
        
        
          >
        
      
        
          <
        
        
          h1
        
        
          >
        
        say hello ${name}
        
          </
        
        
          h1
        
        
          ><
        
        
          br
        
        
          />
        
      
            ${(1 != 1)?string("yes", "no")}
      
        
          </
        
        
          body
        
        
          >
        
      
        
          </
        
        
          html
        
        
          >
        
      

8、 添加Controller控制器,代碼如下:

        
          package
        
         com.hoo.controller;
      
        ?
      
        
          import
        
         org.springframework.stereotype.Controller;
      
        
          import
        
         org.springframework.ui.ModelMap;
      
        
          import
        
         org.springframework.web.bind.annotation.RequestMapping;
      
        ?
      
        
          /**
        
      
        
           * <b>function:</b> FreeMarker示例控制器
        
      
        
           * @author hoojo
        
      
        
           * @createDate 2011-3-3 下午04:50:10
        
      
        
           * @file HelloWorldController.java
        
      
        
           * @package com.hoo.controller
        
      
        
           * @project SpringFreemarker
        
      
        
           * @version 1.0
        
      
        
           */
        
      
        @Controller
      
        @RequestMapping(
        
          "/freeMarker"
        
        )
      
        
          public
        
        
          class
        
         HelloWorldController {
      
      
            @RequestMapping(
        
          "/hello"
        
        )
      
        
          public
        
         String sayHello(ModelMap map) {
      
                System.out.println(
        
          "say Hello ……"
        
        );
      
                map.addAttribute(
        
          "name"
        
        , 
        
          " World!"
        
        );
      
        
          return
        
        
          "/hello.ftl"
        
        ;
      
            }
      
      
            @RequestMapping(
        
          "/hi"
        
        )
      
        
          public
        
         String sayHi(ModelMap map) {
      
                System.out.println(
        
          "say hi ……"
        
        );
      
                map.put(
        
          "name"
        
        , 
        
          "jojo"
        
        );
      
        
          return
        
        
          "/hi.ftl"
        
        ;
      
            }
      
      
            @RequestMapping(
        
          "/jsp"
        
        )
      
        
          public
        
         String jspRequest(ModelMap map) {
      
                System.out.println(
        
          "jspRequest ……"
        
        );
      
                map.put(
        
          "name"
        
        , 
        
          "jsp"
        
        );
      
        
          return
        
        
          "/temp.jsp"
        
        ;
      
            }
      
        }
      

9、 添加index.jsp的測試鏈接或temp.jsp的內容:

index.jsp

        
          <
        
        
          body
        
        
          >
        
      
        
          <
        
        
          a
        
        
          href
        
        
          ="freeMarker/hello.do"
        
        
          >
        
        say hello
        
          </
        
        
          a
        
        
          ><
        
        
          br
        
        
          />
        
      
        
          <
        
        
          a
        
        
          href
        
        
          ="freeMarker/hi.do"
        
        
          >
        
        say hi
        
          </
        
        
          a
        
        
          ><
        
        
          br
        
        
          />
        
      
        
          <
        
        
          a
        
        
          href
        
        
          ="freeMarker/jsp.do"
        
        
          >
        
        jspRequest
        
          </
        
        
          a
        
        
          >
        
      
        
          </
        
        
          body
        
        
          >
        
      

temp.jsp

        
          <
        
        
          body
        
        
          >
        
      
        
          <
        
        
          h3
        
        
          >
        
        ${name }
        
          </
        
        
          h3
        
        
          >
        
      
        
          </
        
        
          body
        
        
          >
        
      

如果運行無錯誤,并輸出正確的結果就整合成功!~.~

FreeMarker整合Spring 3


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人免费毛片高清视频 | 欧美激情专区 | 欧美另类videosbestsex久久 | 日韩亚洲一区二区 | 18pao成人国产永久视频 | 精品一区二区三区中文字幕 | 97超级碰碰碰碰在线视频 | 久操免费视频 | 色草在线 | 日日摸夜夜添免费毛片小说 | 亚洲欧洲中文日韩久久AV乱码 | 日产精品卡二卡三卡四卡乱码视频 | 波多野结衣一区二区在线 | 日本特黄特色大片免费视频 | 男人午夜免费视频 | 国产在线精品一区二区三区 | 欧美国产中文 | 亚洲第一成人在线 | 欧美成人精品一区二区男人看 | 中文字幕视频一区 | 成人午夜在线 | 久久久久久99 | 亚洲欧美日韩在线不卡 | 九一精品 | 亚洲色婷婷久久精品AV蜜桃久久 | 一区二区蜜桃 | 久草在线新免久费观看视频 | 丁香婷婷综合五月六月 | 范丞丞星座 | 欧美一级www | 国产乱码精品一区二区三上 | 日韩亚洲欧美中文高清在线 | 成人av在线网 | 亚洲国产天堂久久综合9999 | 亚洲精品第一国产综合高清 | 第三级视频在线观看 | 一级片在线 | 久久久99精品免费观看 | 国内自拍视频在线看免费观看 | 免费久久精品国产片香蕉 | 国产欧美日韩不卡一区二区三区 |