# Struts 2 使用method属性

**URL:** <https://www.isharkfly.com/t/struts-2-method/2005>\
**Category:** 程序语言\
**Created:** [May 14, 2015, 1:46am UTC](https://www.isharkfly.com/t/struts-2-method/2005 "2015-05-14T01:46:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [May 14, 2015, 1:46am UTC](https://www.isharkfly.com/t/struts-2-method/2005/1 "2015-05-14T01:46:26Z")

</div>

在配置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类，代码如下：

[code] importcom.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;
}

```

}[/code]

使用action的method属性可以任意指定处理请求的方法(只要该方法和execute 方法具有相同的格式)，这样就可以在同一个类中完成相关的任务，而不需要去编写不同的Action类。

注意：Struts2在根据action元素的method属性查找方法时有两种途径：

1.查找与method属性值完全一致的方法.

2.查找doMethod()形式的方法.
