| « | October 2025 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | |
| 公告 |
|
| Blog信息 |
|
blog名称:流浪狗 日志总数:44 评论数量:19 留言数量:-2 访问次数:192905 建立时间:2008年3月13日 |

| |
|
[struts2学习之路]struts2 action 通配符 软件技术
流浪狗 发表于 2010/8/16 22:57:44 |
| 如struts中配有如下几个action,ManagerUserAction中有与之对应的方法
Java代码
<action name="addUser" class="action.ManagerUserAction" method="add">
<result name="success">/addUser.jsp</result>
</action>
<action name="delUser" class="action.ManagerUserAction" method="del">
<result name="success">/delUser.jsp</result>
</action>
<action name="updateUser" class="action.ManagerUserAction" method="update">
<result name="success">/updateUser.jsp</result>
</action> <action name="addUser" class="action.ManagerUserAction" method="add">
<result name="success">/addUser.jsp</result>
</action>
<action name="delUser" class="action.ManagerUserAction" method="del">
<result name="success">/delUser.jsp</result>
</action>
<action name="updateUser" class="action.ManagerUserAction" method="update">
<result name="success">/updateUser.jsp</result>
</action>如果使用通配符,可以省略写成一个action
Java代码
<action name="*User" class="action.ManagerUserAction" method="{1}">
<result name="success">/{1}User.jsp</result>
</action> <action name="*User" class="action.ManagerUserAction" method="{1}">
<result name="success">/{1}User.jsp</result>
</action>其中,*为通配符,{1}为*所替换的内容,如用户访问的是addUser.action,则*就被自动替换为add,{1}处也自动使用add替换。 若开发时使用统一的命名规范,则所有action可使用类似如下的一条替换即可
Java代码
<action name="*_*" class="action.{1}Action" method="{2}">
<result name="success">/{2}_{1}Success.jsp</result>
</action> <action name="*_*" class="action.{1}Action" method="{2}">
<result name="success">/{2}_{1}Success.jsp</result>
</action>如上所示,所有文件都采用统一的命名规范,第一个*为分类名称,第二个*为操作名,{1}和{2}分别代表第一个和第二个*的替换值,所有action实现类都命名为分类名称+Action。 如分类名称为User,操作名为add,则访问的action名为User_add.action,action实现类名为UserAction,返回页面的名为add_UserSuccess.jsp 另:{0}代表显示所有通配符内容,如<result name="success">/{2}_{1}Success.jsp</result>改为<result name="success">/{0}Success.jsp</result>,则返回的名为User_addSuccess.jsp |
|
|