spring MVC 整合 freemarker 问题 是这样配置吗

2025-03-24 09:58:42
推荐回答(1个)
回答1:

1.Spring 包
spring2.5.6.jar

spring-aop.jar

spring-beans.jar

spring-context.jar

spring-context-support.jar

spring-core.jar

spring-jdbc.jar

spring-jms.jar

spring-orm.jar

spring-test.jar

spring-tx.jar

spring-web.jar

spring-webmvc.jar

spring-webmvc-portlet.jar

spring-webmvc-struts.jar

2.Freemarker包
freemarker-2.3.19.jar
加粗的部分为项目需要引入的包。
开始我们的整合之旅吧!
开发工具:NetBeans IDE 7.3.1
一、新建web项目springMVCAndFreemarker
二、将jar包引入项目
spring.jar

spring-webmvc.jar

freemarker.jar
依赖包
commons-logging.jar

三、配置web.xml

WEB-INF/web.xml

[html] view plain copy print?


contextConfigLocation
classpath:applicationContext.xml




org.springframework.web.context.ContextLoaderListener


springmvc
org.springframework.web.servlet.DispatcherServlet
1



springmvc
/*

四、添加applicationContext.xml文件

src/applicationContext.xml

[html] view plain copy print?

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-2.5.xsd">



接着在内容中添加Freemarker的支持配置

[html] view plain copy print?

class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">



0
UTF-8
0.##########
yyyy-MM-dd HH:mm:ss
true
ignore




五、添加spring MVC的servlet配置文件,命名规则(servlet-name+servlet.xml)
WEB-INF/springmvc-servlet.xml

[html] view plain copy print?

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-2.5.xsd">


接着在内容中添加Spring MVC的配置

[html] view plain copy print?

class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">

.ftl



六、创建控制器Controller类

com.qisentech.springmvc.action.HelloWordController.java

[java] view plain copy print?
/*
* 文 件 名 : com.qisentech.springmvc.action.HelloWordController.java
* 创建日期 : 2013-8-7 11:40:04
* 创 建 者 : qsyang
*/
package com.qisentech.springmvc.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

/**
*

Title:


*
*

Description:


*
* @author qsyang
* @version 1.0
*/
public class HelloWordController implements Controller {

@Override
public ModelAndView handleRequest(HttpServletRequest hsr
, HttpServletResponse hsr1) throws Exception {
ModelAndView mv = new ModelAndView("hello");
mv.addObject("title", "Spring MVC And Freemarker");
mv.addObject("content", " Hello world , test my first spring mvc ! ");
return mv;
}
}
代码中new ModelAndView("hello")中的hello就是模板文件的名称
由于我们的Freemarker的模板文件是配置在WEB-INF/view下,参考applicationContext.xml配置

所以我们需要在WEB-INF/view下新建模板文件,名称(hello.ftl)

[html] view plain copy print?
"http://www.w3.org/TR/html4/loose.dtd">



${title}


${content}


七、将控制器交给Spring MVC进行拦截
添加以下内容到springmvc-servlet.xml

[html] view plain copy print?


class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">



HelloAction




以上步骤处理好,我们就可以运行了