1. TagAction
package elia;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class TagAction extends ActionSupport{
private String author;
private String result;
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String execute() throws Exception{
result = "execute() is executed successful!";
ServletActionContext.getRequest().setAttribute("result", result);
return "done";
}
public String login() throws Exception{
ServletActionContext.getRequest().setAttribute("author", getAuthor());
result = "login() is executed successful!";
ServletActionContext.getRequest().setAttribute("result", result);
return "done";
}
}
2.action.jsp
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>test iterator</title>
</head>
<body>
the first logic action is executed! result is included!<br>
<s:action name="action1" executeResult="true"></s:action>
<s:property value="#attr.result"/>
<hr></hr>
the second logic action is executed! result is included! params is prevented!<br>
<s:action name="action2" executeResult="true" ignoreContextParams="true"></s:action>
<s:property value="#attr.result"/>
<hr></hr>
the first logic action is executed! result is excluded!<br>
<s:action name="action2" executeResult="false"></s:action>
<s:property value="#attr.author"/>
</body>
</html>
3.struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="elia" extends="struts-default">
// 将一个action分成两个逻辑action
<action name="action1" class="elia.TagAction">
<result name="done">/succ.jsp</result>
</action>
<action name="action2" class="elia.TagAction" method="login">
<result name="done">/loginSucc.jsp</result>
</action>
</package>
</struts>