现在的位置: 首页 > 综合 > 正文

《struts2权威指南》学习笔记之在Freemarker中使用struts2标签

2014年09月26日 ⁄ 综合 ⁄ 共 907字 ⁄ 字号 评论关闭

 虽然freemarker自己提供了一些ftl指令,可以对数据模型中的数据进行迭代输出,也提供了一定的条件判断能力,但struts2提供的标签远不止于此,他还提供了一些列的表现标签,例如form,因此还是需要在freemarker模板中使用struts2标签 
    在freemarker模板中使用标签毕竟不同于jsp页面中使用标签,因为freemarker不支持tablib指令导入标签库,但struts2为了在freemarker模板中使用标签库,提供了额外的支持,为了在freemarker模板中使用标签库,可以按如下步骤进行操作

1.将系统所需的标签库定义文件(也就是tld文件)复制到web应用中,对于struts2系统,则需要将struts2-core-2.0.6.jar中的struts-tag.tld拷贝到web应用中

2.在web.zml中启动JSPSupportServlet

<servlet>
  
<servlet-name>JSPSupportServlet</servlet-name>
  
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
  
<load-on-startup>1</load-on-startup>
</servlet>

 

3.在freemarker模板中使用assign指令导入标签库,导入标签库代码如下:

 

<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]>

 

4.加入标签库定义后就可以使用struts2标签了(在jsp中没有是<s:form></s:form>)

  

<@s.form action="list">
   
<@s.textfield label="name"/>
/@s.fom

 

后记:我们不能再浏览器中直接访问freemarker模板,那样只会显示模板的源文件,需要在struts.xml进行配置result

 

<result type="freemarker">/WEB-INF/result.ftl</result>

抱歉!评论已关闭.