struts2配置中的method{數字}屬性

Kunaly發表於2017-12-20

<action name="User*" class="com.user.action.UserAction" method="{1}">
			<result name="userSuccess">/page/userlist.jsp</result>
			<result name="userDelSuccess" type="redirect">Userlist</result>
			<result name="userAddSuccess" type="redirect">Userlist</result>
			<result name="userEditSuccess">/page/useredit.jsp</result>
			<result name="userUpdateSuccess" type="redirect">Userlist</result>
			<result name="success">/index.jsp</result>
			<result name="login">/login.jsp</result>
			<allowed-methods>list,userDel,userAdd,userEdit,userUpdate,login</allowed-methods>
</action>
程式碼如上:

其實用到method={數字}的時候,相應的前面的action是要出現*萬用字元來搭配的。

例如:


<action name="user_*" class="UserAction" method="{1}">
在對應的jsp中:
<form action="user_userLogin2" method="post">
那麼struts會將user_userLogin2這個action按照user_*的格式解析,把*號對應位置的字串取出來,放到method={}這個中括號裡替代數字的位置,1就是指第一個*號位置的字串。
這裡看不出數字不同的區別,在:
<action name="*_*" class="com.xy.{1}Action" method="{2}">
中就看得明白了,你提交的action都會按格式分解,比如jsp裡是User_add,那麼就會變成:
class="com.xy.UserAction" method="{add}"

相關文章