2. 使用method属性
在配置action时,我们可以通过action元素的method属性来指定action调用的
方法,所指定的方法,必须遵循与execute方法相同的格式。
在Struts2.xml文件中,我们可以为同一个action类配置不同的别名,并使用
method属性。
在Struts.xml文件中为同一个Action类配置不同的别名
<!-- 使用method属性 -->
<package name="methods" namespace="/"
extends="struts-default">
<!-- 对应着MethodAction里面的execute方法 -->
<action name="list" class="org.lesson05.MethodAction">
<result name="success">/Methods/list.jsp</result>
</action>
<!-- 对应着MethodAction里面的add方法 -->
<action name="add" class="org.lesson05.MethodAction"
method="add">
<result name="success">/Methods/add.jsp</result>
</action>
<!-- 对应着MethodAction里面的edit方法 -->
<action name="edit" class="org.lesson05.MethodAction"
method="edit">
<result name="success">/Methods/edit.jsp</result>
</action>
<!-- 对应着MethodAction里面的delete方法 -->
<action name="delete"
class="org.lesson05.MethodAction"
method="delete">
<result name="success">/Methods/delete.jsp</result>
</action>
</package>
对应的MethodAction类,代码如下:
import com.opensymphony.xwork2.ActionSupport;
public class MethodAction extends ActionSupport
{
@Override
public String execute() throws Exception
{
return SUCCESS;
}
public String add() throws Exception
{
return SUCCESS;
}
public String edit() throws Exception
{
return SUCCESS;
}
public String delete() throws Exception
{
return SUCCESS;
}
}
使用action的method属性可以任意指定处理请求的方法(只要该方法和execute
方法具有相同的格式),这样就可以在同一个类中完成相关的任务,而不需要去编写不
同的Action类。
注意:Struts2在根据action元素的method属性查找方法时有两种途径:
1. 查找与 method 属性值完全一致的方法 .