閱讀419 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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" method="add">
    <result name="add">add.jsp</result>
   </action>
   <action name="userModify" 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" >
    <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="*_*" 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名,網頁名等等有嚴格的約定,才能做好配置。

 

 

最後更新:2017-04-02 16:47:50

  上一篇:go 《洛克菲勒留給兒子的38封信》 第四封:現在就去做
  下一篇:go 一個Go語言接口和多操作係統實現的簡單例子