使用chain方式,在第二action中获取第一个action中actionMessage

阅读更多

为什么采用chain 方式时,没有复制Errors, Field errors and Message?

 

struts.xml中配置如下:


	
	
		
			
				getvalue2
				/
			
		

	
	
		
			/result.jsp
		
	

 

第一个action(getvalue) 通过chain的方式把请求传递到第二个action(getvalue2),可是在第二个action无法获取第一个action中设置的actionMessage,当然在result.jsp中使用 也无法获取正确的值。

第一个action部分代码如下:

public class GetValueAction extends ActionSupport {
	private static final long serialVersionUID = 4865100826143278474L;
	
	@Override
	public String execute() throws Exception {
		String actionMessage="aaa";//你自己需要设置的message
		addActionMessage(actionMessage);
		return super.execute();
	}

}

 

原因分析:

采用chain方式时,Errors, Field errors and Message 默认不会复制到第二个action,必须手动指定:

 

struts.xwork.chaining.copyErrors - 设置为true ,可以复制 Action Errors 到第二个action;

struts.xwork.chaining.copyFieldErrors - 设置为true ,可以复制 Field Errors 到第二个action;

struts.xwork.chaining.copyMessages - 设置为true ,可以复制 Action Messages到第二个action;

 

解决方法:

在struts.xml中 添加:

 

  • struts_chain.zip (3.9 KB)
  • 下载次数: 2

你可能感兴趣的:(chain,message,actionMessage,struts2)