首页 > 代码库 > Struts2学习(二)运行Action中方法的三种方式

Struts2学习(二)运行Action中方法的三种方式

1.运行execute()方法

一般的能够直接在action中书写execute,调用action时会自己主动运行此方法

2.配置method方法

在struts.xml中配置action时。写method属性设置方法。例如以下所看到的。这样写能够在一个action类中写多个运行的方法。简化结构。

<package name="user" extends="struts-default" namespace="/user">
        <action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add">
            <result>/user_add_success.jsp</result>
        </action>
</package>

action类中写一个返回String类型的add()方法就可以

public class UserAction extends ActionSupport {
    public String add() {
        return SUCCESS;
    }

3.利用通配符

举个样例就能够明确:

<package name="actions" extends="struts-default" namespace="/actions">
        <action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
            <result>/Student{1}_success.jsp</result>
        </action>

        <action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
            <result>/{1}_{2}_success.jsp</result>
            <!-- {0}_success.jsp -->
        </action>
    </package>

上面第一个action中。能够匹配一个action中的不同方法,第二个action能够匹配不同的action中的不同方法。这样写相当于设置了一种规则,既简化了struts.xml的书写。又使项目结构变得清晰。

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

Struts2学习(二)运行Action中方法的三种方式