Struts.xml中Action的method与路径的三种匹配方法

简介:


首先我们有一个Action——UserAction

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

    public String modify()
    {
        return "modify";
    }
}


1 指定method

<package name="user" namespace="/userPath" extends="struts-default">
   <action name="userAdd" class="com.xy.UserAction" method="add">
    <result name="add">add.jsp</result>
   </action>
   <action name="userModify" class="com.xy.UserAction" method="modify">
    <result name="modify">modify.jsp</result>
   </action>
</package>

路径:
userPath/userAdd
userPath/userModify

特点:
不灵活,CRUD四个操作就要配4个action。

 

 

2 动态方法调用DMI(Dynamic Method Invocation)

<package name="user" namespace="/userPath" extends="struts-default">
   <action name="user" class="com.xy.UserAction">
    <result name="add">add.jsp</result>
 <result name="modify">modify.jsp</result>
   </action>
</package>

路径:
userPath/user!add
userPath/user!modify

特点:
灵活。只要指定不同的方法就可以做不同的操作。

 

 

3 通配符

<package name="all" namespace="/" extends="struts-default">
   <action name="*_*" class="com.xy.{1}Action" method="{2}">
 <result name="add">{1}_add.jsp</result>
 <result name="modify">{1}_modify.jsp</result>
   </action>
</package>

路径:
User_add
User_modify

特点:
更加灵活。整个项目甚至只要配一个总的action。是指定方法的一个特殊的用法。不过我觉得用DMI可以将每个模块分的清楚。

 

4 总结

在配置的时候要记住一句话:约定优于配置

在一个项目中,配置前,我们需要对action名,网页名等等有严格的约定,才能做好配置。

 

 

目录
相关文章
|
前端开发 JavaScript Java
Web.xml - Servlet与Filter的url-pattern
Web.xml - Servlet与Filter的url-pattern
113 8
Struts2动态方法调用,和struts.xml的通配符方式调用
Struts2动态方法调用,和struts.xml的通配符方式调用
120 0
Struts2动态方法调用,和struts.xml的通配符方式调用
|
Java
Strut2在Action-Result的配置文件内转到jsp页面时用URL传递参数
Struts.2.5.5版本在Action配置文件中内有如下result,其中role是Action类中的属性,在配置文件中用到OGNL表达式 /login.jsp?role=${role} 但是这样配置页面提交跳转时会发生以下错误: org.
873 0

相关课程

更多