ww.action标签在freemarker中的问题

1.问题描述:
 在freemarker页面文件ftl中,使用<@ww.action name="test" executeResult="true" />显示xwork.xml中action为test返回result页面内容,
  <action name="test" class="org.TestAction">
   <result name="success" type="freemarker">
    /WEB-INF/hello.ftl
   </result>
  </action>
  
  <action name="test2" class="org.TestAction2">
   <result name="success" type="dispatcher">
    /hello.jsp
   </result>
  </action>
 如果为executeResult="false",表示不返回result页面.
 xwork.xml
  <action name="actionTagAction" class="org.ActionTagAction">

  </action>
 org.ActionTagAction action类
  private Map map = new HashMap();
 public String execute() throws Exception {
  ServletActionContext.getRequest().setAttribute("stringByAction", "This is a String put in by the action's doDefault()");
  map.put("01", "男");
  map.put("00", "女");
  return NONE;
 }

 public Map getMap() {
  return map;
 }
 public void setMap(Map map) {
  this.map = map;
 }
 ftl中使用action标签
 <@ww.action name="actionTagAction" executeResult="false" id="sexs"/>
 <@ww.property value="#attr.stringByAction" />
 <@ww.radio label="性别" name="sex" list="#sexs.map" value="'01'"/>
 

 <@ww.action />在使用jetty运行时,正常显示,但是使用tomcat时候,返回的result页面不能正常显示,报错:
 WebWork Problem Report
 WebWork has detected an unhandled exception:
 Messages: Cannot create a session after the response has been committed 
 --------------------------------------------------------------------------------
 Stacktraces
 java.lang.IllegalStateException: Cannot create a session after the response has been committed
报错的情况是首次请求包含<@ww.action />标签的页面,如果是先请求test,在请求包含<@ww.action />标签的页面是可以正常显示的.
经过测试发现:如果不返回result页面,而是得到test中的map或String变量值时,可以取到值,但是tomcat控制台同样也报出上面的错误,
解决方法: 在使用webwork中action标签时,在jsp页面中使用,返回的result页面不管是jsp或ftl都可以正常显示

(taglib.tld来源于:webwork-2.2.4.jar /META-INF/标签描叙符文件)
<%@taglib prefix="ww" uri="/WEB-INF/taglib.tld"%>
<ww:action namespace="/gl" name="test" executeResult="true" /><br/>
<ww:action namespace="/gl" name="test2" executeResult="true" />
/gl为xwork中的命名空间

webwork中标签在jsp页面中较完善,在freemarker中存在一些问题.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值