博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FreeMarker整合Spring 3
阅读量:7047 次
发布时间:2019-06-28

本文共 4477 字,大约阅读时间需要 14 分钟。

开发环境:

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:

 

1、 新建WebProject,工程名称是SpringFreemarker;然后手动添加jar包,需要的jar包如下:

SpringFramework jar包下载地址:

FreeMarker library下载地址:

当然你也可以去官方下载

2、 在web.xml中添加如下配置:

org.springframework.web.context.ContextLoaderListener
 
contextConfigLocation
classpath*:applicationContext-*.xml
 
 
dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/dispatcher.xml
 
1
 
 
dispatcher
*.do
 

上面分别是添加Spring的监听器、以及配置Spring的配置文件、还有SpringMVC的控制器;

3、 在WEB-INF中添加文件dispatcher.xml,和web.xml中的对应。内容如下:

 
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"
 
 
-->
 
 
 
 
 

上面是SpringMVC的基本配置

4、 在src中添加applicationContext-beans.xml,内容如下:

 
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"
 

里面可以添加一些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的配置,配置如下:

 
 
/WEB-INF/ftl/
 
 
 
 
 
 
 

上面最关键的就是freeMarker的视图解析器viewResolver的配置,viewClass是使用哪个视图解析器,这里是类路径;其他的和jsp的视图解析器都很类似。

7、 下面在WEB-INF中添加2个ftl模板,在WEB-INF添加ftl,然后添加hello.ftl/hi.ftl,内容分别是:

hello.ftl

 
 

say hello ${name}

${(1 == 1)?string("yes", "no")}
 
 

hi.ftl

 
 

say hello ${name}

${(1 != 1)?string("yes", "no")}
 
 

8、 添加Controller控制器,代码如下:

package com.hoo.controller;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
 
/**
* function: 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

temp.jsp

 

${name }

 

如果运行无错误,并输出正确的结果就整合成功!~.~

本文转自hoojo博客园博客,原文链接:http://www.cnblogs.com/hoojo/archive/2011/04/19/2020551.html,如需转载请自行联系原作者
你可能感兴趣的文章
RPM安装软件
查看>>
SSH 基于ajax实现修改密码功能步骤梳理
查看>>
atitit.Sealink2000国际海运信息管理系统
查看>>
android面试总结01 activity生命周期
查看>>
Java 实现策略(Strategy)模式
查看>>
Python文本爬虫实战
查看>>
leetcode:Gray Code
查看>>
IDEA+PHP+XDebug调试配置
查看>>
javascript学习笔记(一)-廖雪峰教程
查看>>
iOS~判断应用是否有定位权限
查看>>
做接口测试需要哪些技能
查看>>
Nginx(十)-- 进程模型及工作原理
查看>>
辛星浅析一次ajax的实现过程
查看>>
静态网页怎样实现动态交互?-JavaScript
查看>>
JAVA IO操作:数据操作流:DataOutputStream和DataInputStream
查看>>
[Angular HTML] Overwrite input value, String.fromCharCode & input.selectionStart
查看>>
海思hi3716c机顶盒接usb摄像头和usb无线耳机时,无线耳机有时没有声音
查看>>
word2vec原理(二) 基于Hierarchical Softmax的模型
查看>>
C++中的RAII机制
查看>>
monaco editor + vue的配置
查看>>