如果要添加多个Action来处理不同的请求,并为用户提供不同的URL,因此需要定义不同的类:
package cn.w3cschool.struts2;
import com.opensymphony.xwork2.ActionSupport;
class MyAction extends ActionSupport{
public static String GOOD = SUCCESS;
public static String BAD = ERROR;
}
public class HelloWorld extends ActionSupport{
...
public String execute()
{
if ("SECRET".equals(name)) return MyAction.GOOD;
return MyAction.BAD;
}
...
}
public class SomeOtherClass extends ActionSupport{
...
public String execute()
{
return MyAction.GOOD;
}
...
}
然后在struts.xml文件中配置这些action:
<?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>
<constant name="struts.devMode" value="true" />
<package name="helloworld" extends="struts-default">
<action name="hello"
class="cn.w3cschool.struts2.HelloWorld"
method="execute">
<result name="success">/HelloWorld.jsp</result>
<result name="error">/AccessDenied.jsp</result>
</action>
<action name="something"
class="cn.w3cschool.struts2.SomeOtherClass"
method="execute">
<result name="success">/Something.jsp</result>
<result name="error">/AccessDenied.jsp</result>
</action>
</package>
</struts>