整合Freemarker的方法
来源:互联网 发布:下载flash视频软件 编辑:程序博客网 时间:2024/06/05 02:10
最近小弟对Struts2.1.6中的Freemaker做了个初步的研究.在此和大家分享一下.
Struts2.1.6与Freemarker的整合方式有两种,即通过Freemarker中的模板技术和在struts2.1.6配置文件中的配置有关,两都的区别是比较大的,但是它们各有千秋,本人体会到了设计者的巧妙.
1,通过Freemarker中的模板(Template)来整合.
Struts2.1.6的Action与前台的整合,无非是通过Action(基于Servlet)和struts2.1.6中的XML配置文件.该方法就是通过Action进行整合.
相关的例子代码如下:
一般情况下Action中的方法需要返回一个字符串来和配置文件中相对应找到相关的页面.但是这种结合方式脱离了配置文件的导航,因为在Template的构造函数里面已经指定了模板文件的位置.因此不需要通过配置文件来指定页面的去处.所以返回值一定要返回Null.
模板文件已在代码指定了.
2,在struts2.1.6配置文件中进行相关的配置
相关的代码如下:
注意返回的Type类型不再是空了,应该是Freemarker,并且要在Result节点中配置一下模板文件的位置.
使用这种方法可以使用struts2.1.6中的所有标签,使用时应该做以下配置:
首先要把struts-tags.tld从struts2.1.6的核心JAR包拷贝出来,放在指定的目录.
在Web.xml文件中配置一下
关键是在FTL的模板文件中要指定标签所在的位置,具体的代码如下:
Struts2.1.6与Freemarker的整合方式有两种,即通过Freemarker中的模板技术和在struts2.1.6配置文件中的配置有关,两都的区别是比较大的,但是它们各有千秋,本人体会到了设计者的巧妙.
1,通过Freemarker中的模板(Template)来整合.
Struts2.1.6的Action与前台的整合,无非是通过Action(基于Servlet)和struts2.1.6中的XML配置文件.该方法就是通过Action进行整合.
相关的例子代码如下:
一般情况下Action中的方法需要返回一个字符串来和配置文件中相对应找到相关的页面.但是这种结合方式脱离了配置文件的导航,因为在Template的构造函数里面已经指定了模板文件的位置.因此不需要通过配置文件来指定页面的去处.所以返回值一定要返回Null.
模板文件已在代码指定了.
2,在struts2.1.6配置文件中进行相关的配置
相关的代码如下:
注意返回的Type类型不再是空了,应该是Freemarker,并且要在Result节点中配置一下模板文件的位置.
使用这种方法可以使用struts2.1.6中的所有标签,使用时应该做以下配置:
首先要把struts-tags.tld从struts2.1.6的核心JAR包拷贝出来,放在指定的目录.
在Web.xml文件中配置一下
关键是在FTL的模板文件中要指定标签所在的位置,具体的代码如下:
注意:
这种方式的配置有可能会出现乱码,往往乱码问题是最令人头疼的.如果用标签取国际化中文件中的内容是没有问题的.但是在模板文件中的中文会出现乱码.
应该分为到下几步去查找原因:
1,看一下Spring2.0的编码过滤器配置.(Web.xml),并且要放在struts2.1.6的过滤器前面.(过滤器的顺序相当重要.可参见本人的其它文章)
2,struts2.1.6配置文件中的有没有配置相关的编码设置(可要可不要,)
3,看一下IDE开发工具中的模板文件的编码是不是和以上两步指定的编码是否一致,这一步是比较关键的.因为Ftl模板文件不在我们经常开发的文件名之内(.java,.properies,.jsp等),如果不一致,在该文件上右击,设置一下编码即可(本人就是因为这个问题郁闷了好久.呵呵,看来编码问题这个才是最重要的)
这种方式的配置有可能会出现乱码,往往乱码问题是最令人头疼的.如果用标签取国际化中文件中的内容是没有问题的.但是在模板文件中的中文会出现乱码.
应该分为到下几步去查找原因:
1,看一下Spring2.0的编码过滤器配置.(Web.xml),并且要放在struts2.1.6的过滤器前面.(过滤器的顺序相当重要.可参见本人的其它文章)
2,struts2.1.6配置文件中的有没有配置相关的编码设置(可要可不要,)
3,看一下IDE开发工具中的模板文件的编码是不是和以上两步指定的编码是否一致,这一步是比较关键的.因为Ftl模板文件不在我们经常开发的文件名之内(.java,.properies,.jsp等),如果不一致,在该文件上右击,设置一下编码即可(本人就是因为这个问题郁闷了好久.呵呵,看来编码问题这个才是最重要的)
- 整合Freemarker的方法
- struts2 Validator 整合freemarker 取得FieldError的方法
- freemarker与spring的整合
- springMVC整合freemarker的使用
- spring mvc与Freemarker的整合
- 基于Annotation的SpringMVC4整合Hibernate4 + freemarker
- freemarker与springMvc整合的坑
- Mybatis-Spring-SpringMVC-freemarker-PageHelper的整合
- SpringMVC整合Freemarker遇到的问题
- freemarker处理boolean的方法
- freemarker遍历map的方法
- Struts2整合FreeMarker实例
- FreeMarker整合Spring 3
- Struts2 Freemarker 整合
- FreeMarker与SpringMVC整合
- FreeMarker整合Spring 3
- FreeMarker与SpringMVC整合
- FREEMARKER与SPRINGMVC整合
- ACE_Thread_Manager线程管理学习
- 关于Basic,Digest and NTLM Authentication认证的问题
- 一个验证码识别的代码
- spring配置文件的一般写法(集成hibernate) (applicationContext.xml)
- VB.Net程序设计:多列ComBoBox控件中初始化网格的代码段
- 整合Freemarker的方法
- [翻译]当SA帐号丢失时怎么办
- Java中SQL注入问题
- 使用shell连接window上vmware下的linux
- Oracle intersect运算和 minus运算
- ASP.NET 2.0 中配合 Master Page 使用的优化 CSS 模型
- 集成电路封装形式介绍
- 新认识
- Inno setup 常用修改技巧