在工作中碰到一个action跳转的问题:
在Test1Action中有如下result
@Result(name="SUCCESS",location="test2",type="chain")
在Test1Action 的a1方法中有 this.addActionError
如果不做处理,在跳转到Test2Action时,因为存在actionError,所以默认执行的是input操作,而不会执行execute方法
解决方法:
1.在a1方法中,把actionError装换为actionMessages
if(this.hasActionErrors){
Iterator<String> it = this.getActionErrors().iterator();
while(it.hasNext){
this.addActionMessage(it.next());
}
this.clearErrors();
}
2.在Test2Action中的execute中,把actionMessages转换为actionError
if(this.hasActionMessage()){
Iterator<String> it = this.getActionMessages().iterator();
while(it.hasNext()){
this.addActionError(it.next());
}
this.clearMessage();
}
原文地址:http://zhousheng193.iteye.com/blog/1686098