FreeMarker整合Struts2

FreeMarker整合Struts2

轉載自http://programerni.diandian.com/post/2012-03-18/40031168281

1.解壓struts2-core-X.X.X.jar文件,把在META-INF文件夾下面的struts-tags.tld文件複製到WEB-INF文件夾下。
將freemark的jar導入到工程中

2.在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)一起啓動。0爲不。1爲是-->
<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>

3.在FreeMarker模板中使用assign指令導入標籤庫。代碼如下

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] /> 注:這裏我把struts-tags.tld放在WEB-INF下面

4.現在我們可以在FreeMarker模板中使用標籤了
示例代碼如下:

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<@s.form action="login">
<@s.textfield name="username" label="username"/>
<@s.submit value="login"/>
/@s.form
<!-- login.ftl代碼如下 -->

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<html>
<head>
<title>Login Form</title>
</head>
<body>
please input username and password login<br>
<@s.form action="Login.action">
<@s.textfield name="username" label="username"/>
<@s.password name="password" label="password"/>
<@s.submit value="submit"/>
</@s.form>
</body>
</html>



<!-- welcome.ftl代碼如下: -->

<html>
<head>
<title>Success</title>
</haed>
<body>
WelCome,${username},you logined!<br>
<a href="ShowInfo.action">Show Information</a>
</body>
</html>



<!-- showinfo.ftl代碼如下: -->

<html>
<head>
<title>User Information</title>
<body>
<table border="1" width="360">
<caption>User Information</caption>

<tr>
<td>username:</td>
<td>${username}</td>
</tr>
<tr>
<td>sex:</td>
<td>${sex}</td>
</tr>
<tr>
<td>age:</td>
<td>${age}</td>
</tr>
</table>
</body>
</html>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章