首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts2调整Freemarker

2012-08-29 
struts2整合Freemarker1.解压struts2-core-X.X.X.jar文件,把在META-INF文件夹下面的struts-tags.tld文件复

struts2整合Freemarker
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>

热点排行