博客
关于我
强烈建议你试试无所不能的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,如需转载请自行联系原作者
你可能感兴趣的文章
[Ubuntu] ubuntu的tty下挂载移动硬盘拷贝数据
查看>>
PyGObject的使用手册
查看>>
找到多个与名为“Home”的控制器匹配的类型
查看>>
【编程基础】C语言常见宏定义
查看>>
CAS与OAuth2的区别
查看>>
python3中的List
查看>>
Sqlserver创建连接MySql的链接服务器
查看>>
ORACLE中常见SET指令
查看>>
Android startActivities()的使用
查看>>
MySQL环境部署
查看>>
Could not find a storyboard named 'Main' in bundle NSBundle
查看>>
bzoj 3217: ALOEXT
查看>>
轻松掌握shell编程中数组的常见用法及示例
查看>>
要想真正牛逼,唯有用实力和“拳头”说话。
查看>>
PowerBI分析个人Exchange邮箱数据
查看>>
犯了个低级错误
查看>>
Win7部署基础知识(7):使用Imagex捕获和安装映像
查看>>
Outlook Anywhere 客户端配置详解
查看>>
优化系列 | MySQL 5.6.10 vs Percona 5.6.6之TPCCC性能测试
查看>>
Windows 9操作系统已经开始测试!
查看>>