Struts2+Freemarker批量生成html页面

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

19 个解决方案

#1


直接给你顶上去
好学习。。。

#2


谢谢楼上的,这个问题困扰了我一下午了。。。

#3


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.标签名 />

#4


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.在freemarker模板中使用assign指令导入标签库,导入标签库代码如下: 

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

4.加入标签库定义后就可以使用struts2标签了()

   将webwork自定义模版中的<@ww.text>替换成<@s.text>,就可以了
注意:在页面内使用struts2标签,要用"."号,而不是传统的":"号。


给分.!

#5


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

#6


说JspTagLibs未定义。。。

#7


这个问题我也很好奇  呵呵  谢谢楼主提出来  

#8


难道大家项目中都没有遇到问题么?

#9


UP 等待解决问题中。。。

#10


up 等待解决问题中……

#11


QQ:75425364

#12


楼上的 MSN可以么?

#13


shaozk@hotmail.com

#14


遇到了 网上连续查找3天了 不得答案
变态的问题啊

#15


楼主,可以把解决方法贴出来吗?

#16


谢谢关注,暂时没有办法解决。

#17


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

#18


楼主,问题解决吗?能否分享一下,我也遇到了这个问题。

#19


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

#1


直接给你顶上去
好学习。。。

#2


谢谢楼上的,这个问题困扰了我一下午了。。。

#3


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.标签名 />

#4


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.在freemarker模板中使用assign指令导入标签库,导入标签库代码如下: 

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

4.加入标签库定义后就可以使用struts2标签了()

   将webwork自定义模版中的<@ww.text>替换成<@s.text>,就可以了
注意:在页面内使用struts2标签,要用"."号,而不是传统的":"号。


给分.!

#5


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

#6


说JspTagLibs未定义。。。

#7


这个问题我也很好奇  呵呵  谢谢楼主提出来  

#8


难道大家项目中都没有遇到问题么?

#9


UP 等待解决问题中。。。

#10


up 等待解决问题中……

#11


QQ:75425364

#12


楼上的 MSN可以么?

#13


shaozk@hotmail.com

#14


遇到了 网上连续查找3天了 不得答案
变态的问题啊

#15


楼主,可以把解决方法贴出来吗?

#16


谢谢关注,暂时没有办法解决。

#17


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

#18


楼主,问题解决吗?能否分享一下,我也遇到了这个问题。

#19


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

#20