action标签,使用action标签可以允许在jsp页面中直接调用Action,因为需要调用Action,所以指定需要被调用Action的那么及namespace。如果指定的executeResult参数属性是true,该标签还会把Action的处理接个包涵到本页面中来。
package action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class TagAction extends ActionSupport {
//定义个变量
private String editer;
public String getEditer() {
return editer;
}
public void setEditer(String editer) {
this.editer = editer;
}
public String execute() throws Exception {
// TODO Auto-generated method stub
return "test";
}
public String login() throws Exception {
// TODO Auto-generated method stub
ActionContext.getContext().put("editer", getEditer());
return "test";
}
}
struts.xml配置action
<!-- 测试Action标签的使用 -->
<action name="tag1" class="action.TagAction">
<result name="done">/index.jsp</result>
</action>
<!-- 这儿使用login方法控制action的调用 -->
<action name="tag2" class="action.TagAction" method="login">
<result name="done">/index.jsp</result>
</action>
jsp页面的配置:
<!--executeResult设置成true表示将结果包涵到页面中 -->
<s:action name="tag1" executeResult="true"/>
<!-- ignoreContextParams设置成true表示将阻止这个action的请求传入到action中 -->
<s:action name="tag2" executeResult="true" ignoreContextParams="true"/>
<s:action name="tag2" executeResult="false"/>