strust2-result chain

2384 ワード

くだらないことを言わないで直接コードをつけてください.
 
 
public class Test1Action extends ActionSupport{
	
	private String message;
	@Action("test1")
	public String test1()
	{
		System.out.println(message);
		return SUCCESS;
	}
	public String getMessage() {
		return message;
	}
	public void setMessage(String message) {
		this.message = message;
	}	
}

 
 
public class Test2Action extends ActionSupport{
	
	private String message;
	
	@Action(value="test2",results={@Result(type="chain",name="success",location="test1")})
	public String test2()
	{
		message="haha";
		return SUCCESS;
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}
}

 
直進時http://localhost:8080/xxxx/test1.action
印刷いんさつ:null null
 
実行時http://localhost:8080/xxxx/test2.action
印刷いんさつ:haha
 
公式説明ドキュメント:
If you need to copy the properties from your previous Actions in the chain to the current action, you should apply the  ChainingInterceptor .
このresultタイプを2つのactionでパラメータを共有する必要がある場合は
上記の例test 2.actionはmessageに値を割り当て、test 1.actionにジャンプします.resultタイプはchainなのでtest 1.actionはtest 2.actionで付与されたmessageの値を取得できます
 
 
pom.xml
 
<dependency>
	<groupId>org.apache.struts</groupId>
	<artifactId>struts2-core</artifactId>
	<version>2.2.3</version>
</dependency>
<dependency>
	<groupId>org.apache.struts</groupId>
	<artifactId>struts2-convention-plugin</artifactId>
	<version>2.2.3</version>
</dependency>
<dependency>
        <groupId>javassist</groupId>
	<artifactId>javassist</artifactId>
	<version>3.8.0.GA</version>
</dependency>