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

FreeMarker整合Spring 3

系統 2123 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元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 欧美日韩免费在线观看 | 成人黄色免费 | 青青青国产精品一区二区 | 亚洲国产精品日韩高清秒播 | 搡女人视频免费 | 成人最新午夜免费视频 | 亚洲视频一二三 | 国产精品视频一区二区猎奇 | 全黄大全大色全免费大片 | 免费色视频网站 | 亚洲国产精品成人综合色在线婷婷 | 四虎国产精品免费五月天 | 中国产一级毛片 | 欧美精品v欧洲高清 | 国产在线短视频 | 久久精品7 | 成人激情视频在线 | 久久精品中文字幕首页 | 久久经典免费视频 | 9re视频这里只有精品 | 亚洲精品乱码久久久久久蜜桃欧美 | 亚洲七七久久精品中文国产 | 免费爱爱 | 九九视频免费看 | 曰本三级男人吃奶水 | 奇米影视盒7777 | 精品国产自 | 麻豆精品国产免费观看 | 国产91在线看| 免费看曰批女人爽的视频网址 | 99精品国产高清自在线看超 | 国产99欧美精品久久精品久久 | 深夜成人性视频免费看 | 国产原创麻豆精品视频 | 天天色天天射综合网 | 中文精品久久久久中文 | 国产精品免费看 | 亚洲视频在线a视频 | 韩国女主播一区二区三区视频 | 久久精品啪啪嗷嗷叫 | 成人欧美一区二区三区视频 |