首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

struts2中通配符的运用

2012-09-13 
struts2中通配符的使用struts2中减少action数量(通配符使用)如struts中配有如下几个action,ManagerUserAct

struts2中通配符的使用
struts2中减少action数量(通配符使用)

如struts中配有如下几个action,ManagerUserAction中有与之对应的方法?

<action name="addUser" method="add">
??? <result name="success">/addUser.jsp</result>
</action>
<action name="delUser" method="del">
??? <result name="success">/delUser.jsp</result>
</action>
<action name="updateUser" method="update">
??? <result name="success">/updateUser.jsp</result>
</action>

?

?

如果使用通配符,可以省略写成一个action
<action name="*User" method="{1}">
??? <result name="success">/{1}User.jsp</result>
</action>

?

其中,*为通配符,{1}为*所替换的内容,如用户访问的是addUser.action,则*就被自动替换为add,{1}处也自动使用add替换。

?

?

若开发时使用统一的命名规范,则所有action可使用类似如下的一条替换即可

<action name="*_*" 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

?

热点排行