在action中,默认的是调用execute()方法,如果想处理多个业务逻辑的话,可以在action类中写很多个类似execute方法,然后再在struts.xml中配置action的method属性即可。
拿原来的例子示例如下:
在HelloWorld.java中配置类似execute的方法,必须要抛出异常:
package com.xywei.struts2;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport{
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String add() throws Exception{
if(getName().equals("xywei") && getPassword().equals("123")){
return "success";
}else{
return "error";
}
}
}
然后在struts.xml中配置别名:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- 配置struts2 -->
<struts>
<!-- 配置包,名称为firstStruts -->
<package name="firstStruts" namespace="/" extends="struts-default">
<!-- 配置action -->
<action name="HelloWorld" class="com.xywei.struts2.HelloWorld" method="add">
<!-- 配置返回结果 -->
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
这样可以实现不同个业务逻辑处理。