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

 我来答
huanglenzhi
2016-03-12 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
采纳数:117538 获赞数:517199
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。

向TA提问 私信TA
展开全部
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?
<!-- Spring 上下文参数 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>

<!-- Spring 容器启动器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!--为DispatcherServlet建树映射 -->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
四、添加applicationContext.xml文件

src/applicationContext.xml

[html] view plain copy print?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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">

</beans>

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

[html] view plain copy print?
<!-- Freemarker配置 -->
<bean id="freemarkerConfig"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/view/" />
<property name="freemarkerSettings">
<props>
<prop key="template_update_delay">0</prop>
<prop key="default_encoding">UTF-8</prop>
<prop key="number_format">0.##########</prop>
<prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
<prop key="classic_compatible">true</prop>
<prop key="template_exception_handler">ignore</prop>
</props>
</property>
</bean>

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

[html] view plain copy print?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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">

</beans>
接着在内容中添加Spring MVC的配置

[html] view plain copy print?
<!--视图解释器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="suffix">
<value>.ftl</value>
</property>
<property name="contentType" value="text/html;charset=UTF-8"></property>
</bean>
六、创建控制器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;

/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* @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配置
<property name="templateLoaderPath" value="/WEB-INF/view/" />
所以我们需要在WEB-INF/view下新建模板文件,名称(hello.ftl)

[html] view plain copy print?
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>${title}</title>
</head>
<body>
${content}
</body>
</html>
七、将控制器交给Spring MVC进行拦截
添加以下内容到springmvc-servlet.xml

[html] view plain copy print?
<!-- 地址转发器 -->
<bean name="HelloAction" class="com.qisentech.springmvc.action.HelloWordController" />
<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<!-- 映射URL地址 -->
<prop key="/hello">HelloAction</prop>
</props>
</property>
</bean>

以上步骤处理好,我们就可以运行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浙江启扬智能科技有限公司
2023-06-12 广告
Linux 嵌入式系统中,USB 启动模式能够烧写 ARM 的 uboot 的原因主要有以下几个方面:1. USB 启动模式相对于传统的 BIOS 启动模式来说,具有更高的兼容性和灵活性,可以支持更多的硬件设备和操作系统。2. USB 启动... 点击进入详情页
本回答由浙江启扬智能科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式