Spring MVC 整合 freamarker的全过程

        最近要做spring MVC的项目,之前一直用的是struts2 + Spring + Mybats  与   struts2 + Spring + Hibernat  所以就查资料开始写一个Spring MVC  + freamarker  的小程序,也算是helloWorld吧初次试验,有不足的地方还是请大家指点出来,欢迎来提意见废话不多说了,直接来主题吧。


       首先大家需要的jar包有如下图:

      


         第二步是配置web.xml文件如下:

         <?xml version="1.0" encoding="UTF-8"?>
         <web-app version="3.0"
               xmlns="http://java.sun.com/xml/ns/javaee"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
              http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
            <servlet>
                  <servlet-name>hello</servlet-name>
                  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>  // Spring MVC的拦截器
            </servlet>
 
             <servlet-mapping>
                   <servlet-name>hello</servlet-name>
                   <url-pattern>/</url-pattern>          // 拦截所有的URL
              </servlet-mapping>
          </web-app>


       第三步新建hello-servlet.xml文件(这里文件的命名是和web.xml中的<servlet-name>中的名字相关,在这个名字的基础上再加上-servlet)配置如下:

       <?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:context="http://www.springframework.org/schema/context"
               xmlns:mvc="http://www.springframework.org/schema/mvc"
               xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd">

    <context:component-scan base-package="com.springmvc.controler"></context:component-scan>
    <mvc:annotation-driven/>
    
    <!-- 设置freeMarker的配置文件路径 -->

    <bean id="freemarkerConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="location" value="classpath:freamarker.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>


    第四步:在src下添加两个文件(applicationContext-beans.xml / freamarker.properties)  ,配置分别如下:

    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:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:task="http://www.springframework.org/schema/task"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd
        http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">


</beans>


       freamarker.properties

     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


    第五步在WEB-INF下新建ftl文件夹并新建hello.ftl文件

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


   第六步,新建控制类  HelloWorldController.java

   package com.springmvc.controler;

    import org.springframework.stereotype.Controller;
    import org.springframework.ui.ModelMap;
    import org.springframework.web.bind.annotation.RequestMapping;

   @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";
    }

}

  

  上述如果没有错误的话,那么启动后直接访问:http://localhost:8080/项目名/freeMarker/hello 就可以到hello.ftl页面


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yezhijing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值