FreeMarker应用.docx
- 文档编号:5280287
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:10
- 大小:17.98KB
FreeMarker应用.docx
《FreeMarker应用.docx》由会员分享,可在线阅读,更多相关《FreeMarker应用.docx(10页珍藏版)》请在冰豆网上搜索。
FreeMarker应用
FreeMarker在项目中的应用
1.遍历对象集合
FreeMarker遍历集合标签:
<#listmemberListaslist>#list>,其中memberList是action中定义的数据。
在action中定义一个集合属性
publicList
然后给这个属性添加get、set方法。
如果我们在一个具体的action方法里面给这个属性赋值,那么在这个action方法转向的页面上我们可以将这个list集合遍历显示出来。
项目中绝大多数列表都是通过这种方式来显示的。
例如:
Action中的代码:
privateList
publicList
returnmemberList;
}
publicvoidsetMemberList(List
this.memberList=memberList;
}
publicStringgoList()throwsException{
List
if(tempList==null){
roleList=newArrayList
}else{
roleList=tempList;
}
pagination=newPagination(start,AppConstants.PAGINATION_RANGE);
queryResult=memberService.getMembersByHQL(searchType,keyWord,
pagination);
memberList=queryResult.getItems();
pagination=queryResult.getPagination();
returnAppConstants.RETURN_TYPE_FREEMARKER;
}
页面goList.ftl上的代码:
<#listmemberListasmember>
''}
#list>
这样浏览器就会把在action中的list集合以
2.条件判断
Freemarker条件判断标签<#if(条件表达式)>满足条件时所显示的内容#if>
''}">搜索条件 '')=='username')>selected="selected"#if>>姓名 '')=='role')>selected="selected"#if>>角色 3.分页宏 分页宏调用方式: <@fn.generalPager1pagination=paginationhref="/Member_goList.action? searchType=${(searchType)! ''}&keyWord=${(keyWord)! ''}"/>
其中fn是页面引入的宏文件function.ftl,引入宏文件方法:
<#import"/template/lib/function.ftl"asfn>
开发环境:
System:
Windows
WebBrowser:
IE6+、Firefox3+
JavaEEServer:
tomcat5.0.2.8、tomcat6
IDE:
eclipse、MyEclipse8
开发依赖库:
JavaEE5、Spring3.0.0.M4、FreeMarker2.3.16
Email:
hoojo_@
Blog:
1、新建WebProject,工程名称是SpringFreemarker;然后手动添加jar包,需要的jar包如下:
SpringFrameworkjar包下载地址:
FreeMarkerlibrary下载地址:
当然你也可以去官方下载
2、在web.xml中添加如下配置:
--加载Spring容器配置-->
--设置Spring容器加载配置文件路径-->
applicationContext-*.xml
上面分别是添加Spring的监听器、以及配置Spring的配置文件、还有SpringMVC的控制器;
3、在WEB-INF中添加文件dispatcher.xml,和web.xml中的对应。
内容如下:
xmlversion="1.0"encoding="UTF-8"?
>
//www.springframework.org/schema/beans" 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" component-scanbase-package="com.hoo"/> --annotation的方法映射适配器 --> --annotation默认的方法映射适配器--> 上面是SpringMVC的基本配置 4、在src中添加applicationContext-beans.xml,内容如下: xmlversion="1.0"encoding="UTF-8"? > //www.springframework.org/schema/beans" 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-ddHH: mm: ss 6、在dispatcher.xml中添加freemarker的配置,配置如下: --设置freeMarker的配置文件路径--> freemarker.properties"/> --配置freeMarker的模板路径--> --propertyname="freemarkerSettings"ref="freemarkerConfiguration"/--> --配置freeMarker视图解析器--> 上面最关键的就是freeMarker的视图解析器viewResolver的配置,viewClass是使用哪个视图解析器,这里是类路径;其他的和jsp的视图解析器都很类似。 7、下面在WEB-INF中添加2个ftl模板,在WEB-INF添加ftl,然后添加hello.ftl/hi.ftl,内容分别是: hello.ftl ${(1==1)? string("yes","no")} hi.ftlsayhello${name}
sayhello${name}
${(1!
=1)?
string("yes","no")}
8、添加Controller控制器,代码如下:
packagecom.hoo.controller;
importorg.springframework.stereotype.Controller;
importorg.springframework.ui.ModelMap;
importorg.springframework.web.bind.annotation.RequestMapping;
/**
*function:
FreeMarker示例控制器
*@authorhoojo
*@createDate2011-3-3下午04:
50:
10
*@fileHelloWorldController.java
*@packagecom.hoo.controller
*@projectSpringFreemarker
*@version1.0
*/
@Controller
@RequestMapping("/freeMarker")
publicclassHelloWorldController{
@RequestMapping("/hello")
publicStringsayHello(ModelMapmap){
System.out.println("sayHello……");
map.addAttribute("name","World!
");
return"/hello.ftl";
}
@RequestMapping("/hi")
publicStringsayHi(ModelMapmap){
System.out.println("sayhi……");
map.put("name","jojo");
return"/hi.ftl";
}
@RequestMapping("/jsp")
publicStringjspRequest(ModelMapmap){
System.out.println("jspRequest……");
map.put("name","jsp");
return"/temp.jsp";
}
}
9、添加index.jsp的测试链接或temp.jsp的内容:
index.jsp
temp.jsp
${name}
如果运行无错误,并输出正确的结果就整合成功!
~.~
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FreeMarker 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)