struts2与freemarker集成, step by step

3 篇文章 0 订阅
2 篇文章 0 订阅

环境:maven

安装 freemarker 到pom.xml

1.去 http://search.maven.org/ 搜索freemarker,获取到最新或指定版本的freemarker。我用2.3.19的,地址:http://search.maven.org/#artifactdetails%7Corg.freemarker%7Cfreemarker%7C2.3.19%7Cjar

2.Copy Dependency Information 到pom.xml之间,如下所示

<dependencies>
  ...
  <dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.19</version>
  </dependency>
</dependencies>
3.这样pom.xml就配完,mvn compile就会自动download这个组件

增加对JspSupportServlet的支持到web.xml

1.JspSupportServlet对freemarker模板中使用Struts2的标签支持是必要的,对应的class是org.apache.struts2.views.JspSupportServlet。我们在web.xml中对其配制成自动加载。如下
    <servlet>
        <servlet-name>JspSupportServlet</servlet-name>
        <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
2. 还需要在freemarker的模板中加入实现导入struts-tags的目的,这样freemarker中也可以使用struts的tag了
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]>

3.具体模板代码向下看

增加一个action去响应用户的请求到struts.xml

1. 增加一个action映射到struts.xml,这样当用户请求时,struts 会通过此action自动格式化所指模版。struts.xml中增加如下内容:
<action name="show_index" class="Index">
    <result type="freemarker">/show/index.jsp</result>
</action>
2. /show/index.jsp就是模板,扩展名也可以是flt等任意

看/show/index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]>
</head>
<body>
    <div>
        ${showcase_num}
        ${talk}
    </div>
</body>
</html>

1.其中${showcase_num} ${talk}就是freemarker的语法。这两个值都将通过Action类即Index类的getShowcase_num 和 getTalk获取到。看下面的Index类源码

写Index类

1.直接上代码,实现getXXX方法,让freemaker去获取指定内容
public class Index implements Action{
	
	int showcase_num = 30;
	public int getShowcase_num()
	{
		return showcase_num;
	}
	
	public String getTalk ()
	{
		return "你在说啥";
	}
	
	public String execute () throws Exception
	{
		return SUCCESS;		
	}
}
2.That's all。自己体会

THAT'S ALL


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值