入口是Struts2的action,但是出口却直接在Service里生成静态页面文件了。要在freeer文件中使用Struts2标签,比如<@s.action ..../>,但是这样的话这样的话是不能使用struts2标签的,网上找了一些方法,但是批量的时候没法用了。。不知道应该怎么解决,请教一下大家。。

解决方案 »

  1.   

    FreeMarker模板中使用struts2标签
    1.将struts2标签库tld放在指定目录下。2.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>3.标签引用:
    <#assign s=JspTaglibs["/WEB-INF/taglib/struts-tags.tld"] />4.标签使用:
    <@s.标签名 />
      

  2.   

    1.将struts2-core-2.0.6.jar里面的META-INF/struts-tags.tld 拷贝到项目中的WEB-INF目录下2.在web.xml中启动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.在freeer模板中使用assign指令导入标签库,导入标签库代码如下: <#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"]>4.加入标签库定义后就可以使用struts2标签了()   将webwork自定义模版中的<@ww.text>替换成<@s.text>,就可以了
    注意:在页面内使用struts2标签,要用"."号,而不是传统的":"号。
    给分.!
      

  3.   

    楼上两位的答案之前我已经试过了,我要生成html,而不是在action中返回,这个会报错
    ----------
    ==> assignment: s=JspTaglibs["/WEB-INF/struts-tags.tld"] [on line 2, column 1 in template/templateContentStatic.html]
    ----------
      

  4.   

    怎么解决这个问题啊   用freeer生成的html中包含标签
      

  5.   

    这条帖子我一直在关注啊,无人回答,找了其他的网页,有一篇文章给了一个具体解决方法,我还没有弄出来,望大家一起参考,弄出来了回复下
    参考网页地址:http://www.nottyjay.com/java/6.html