亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

FreeMarker整合Spring 3

系統(tǒng) 2417 0

開發(fā)環(huán)境:

System:Windows

WebBrowser:IE6+、Firefox3+

JavaEE Server:tomcat5.0.2.8、tomcat6

IDE:eclipse、MyEclipse 8

開發(fā)依賴庫:

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
        
        
          >
        
      
        
          <!-- 設(shè)置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的監(jiān)聽器、以及配置Spring的配置文件、還有SpringMVC的控制器;

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

        
          <?
        
        
          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,內(nèi)容如下:

        
          <?
        
        
          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一些常用的轉(zhuǎn)換,內(nèi)容如下:

        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的配置,配置如下:

        
          <!-- 設(shè)置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
        
        
          >
        
      

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

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

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的內(nèi)容:

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
        
        
          >
        
      

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

FreeMarker整合Spring 3


更多文章、技術(shù)交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品视频一区二区三区 | 国产拍在线 | 日本最新免费二区 | 精品国产一区二区麻豆 | 国产精品久久久久久永久牛牛 | 四虎永久在线精品2022 | 亚洲一区二区观看 | 日本边添边爱边做视频 | 有码中文字幕在线观看 | 99久久精品免费看国产免费 | 欧美70一80老妇性大片 | 亚洲高清网站 | 精品91自产拍在线观看一区 | 国产精品福利久久 | 午夜看看 | 九九在线精品视频 | 亚洲精品一区二区三区www | 久久人与动人物a级毛片 | 伊伊综合| 久久久午夜影院 | 久久久久日韩精品无 | 成年人看的黄色 | 亚洲在线中文字幕 | 婷婷丝袜| 国产男女爽爽爽免费视频 | 日本一区网站 | 日韩精品久久不卡中文字幕 | 欧美在线一区视频 | 亚洲国产色综合有声小说 | 亚洲精品久久久久网站 | 久久久综合视频 | 久久久噜噜噜 | 欧美成人天天综合在线视色 | 青青热久久久久综合精品 | 午夜影院在线视频 | 日韩一级黄色录像 | 激情综合网婷婷 | 91精品国产综合久久精品 | 国产激情一区二区三区成人91 | 人人干人人舔 | 老司机观看精品一区二区 |