struts2中整合FreeMarker案例
来源:互联网 发布:机票比价软件 编辑:程序博客网 时间:2024/05/25 16:40
1, 首先需要引入 freemarker.jar 包文件
2, 将struts-tags.tld文件复制到WEB-INF文件夹下,引入struts-tags.tld 文件可以在 FreeMarker模板中使用身体struts2的标签 (文件在struts2-core-X.X.X.jar包中的META-INF文件夹下有)
[点击下载freemarker.jar]
[点击下载struts-tags.tld]
在web.xml文件中配置freemark同时启动JSPSupportServlet.代码如下:
<servlet> <servlet-name>freemarker</servlet-name> <servlet-class>freemarker.ext.servlet.FreemarkerServlet</servlet-class> <!--下面的配置freemarke的ftl文件的位置 --> <init-param> <param-name>TemplatePath</param-name> <param-value>/</param-value> </init-param> <!-- 是否和服务器(tommcat)一起启动。--> <load-on-startup>1</load-on-startup></servlet><servlet-mapping> <servlet-name>freemarker</servlet-name> <url-pattern>*.ftl</url-pattern></servlet-mapping><servlet> <!-- define a JspSupportServlet Object --> <servlet-name>JspSupportServlet</servlet-name> <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class> <!-- setting JspSupportServlet auto start --> <load-on-startup>1</load-on-startup></servlet>
在FreeMarker模板中使用assign指令导入标签库如下代码:
<#assign s=JspTaglibs[“/WEB-INF/struts-tags.tld”] />
注:这里我把struts-tags.tld放在WEB-INF下,代码如下
test_success.ftl 模板内容如下
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] /><#--这一句是为了让Freemarker识别struts2的标签 --><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <title>123</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="description" content="This is my page"> </head> <body> <h1>${companyName}</h1> <@s.form action="reg" > <@s.textfield label="用户名" name="uname" /> <@s.submit /> </@s.form> </body></html>
action的代码如下
package com.test;import com.opensymphony.xwork2.ActionSupport;public class TestAction extends ActionSupport { private String companyName="张三"; public String getCompanyName() { return companyName; } public void setCompanyName(String companyName) { this.companyName = companyName; } //执行的方法 public String execute() throws Exception { System.out.println("TestAction.execute()"); return SUCCESS;//跳转到对应的模板中 }}
struts.xml 文件内容如下:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts> <constant name="struts.devMode" value="true" /> <constant name="struts.i18n.encoding" value="gbk" /> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <package name="default" extends="struts-default"> <action name="test" class="com.test.TestAction"> <result name="success" type="freemarker">test_success.ftl</result> </action> </package></struts>
阅读全文
0 0
- struts2中整合FreeMarker案例
- freemarker基础struts2中整合
- Struts2整合FreeMarker实例
- Struts2 Freemarker 整合
- spring+struts2+freemarker整合
- FreeMarker整合Struts2
- Struts2与FreeMarker整合
- FreeMarker 整合Struts2示例
- Struts2整合 Freemarker 实例
- struts2整合freemarker(一)
- freemarker+struts2整合(四)
- Struts2与Freemarker整合实例
- freemarker 之 整合springMVC/struts2
- freemarker通过struts2发送邮件案例
- struts2+spring+jap整合案例
- struts2+spring3+mybatis整合案例
- spring与struts2整合案例
- Servlet中使用Freemarker案例
- Sql Server数据库 实验3 数据的更新
- [OpenGL] 雪景火焰特效demo
- 【2017 Google IO】Android 开发者关心的都在这!
- 程序猿学习第四天,初级CSS预习
- 如何写出简洁优美的CSS Reset
- struts2中整合FreeMarker案例
- Android 解决启动界面显示空白问题
- C++ STL容器时间复杂度下的最佳选择
- 打开wireshark出现the file"..."doesn't exist/couldn't create signal pipe...
- 0519 G2n#W2B-D Valued Keys
- 【微营销】第2天 微营销实战技巧之官方微博、品牌微博、产品微博、专业知识微博
- Hibernate之查询
- 2017中北大学程序设计大赛决赛题解
- FFmpeg常用命令记录(1):录取屏幕、剪切视频、将视频转化为GIF