最近一直在看一個工程例子,遇到一個問題就是在 jsp 文件中,通常會在 <s:form>標簽中使用<s:submit>,而二者均有 action 屬性,今天貌似明白了兩個之間的區別,但是不知道理解的對不對,若有高手路過還請多指教~~
例如,在struts.xml文件中設置了幾個action如下:
1 <action name="UserLogin" class="org.web.user.UserLoginAction">
2 <result name="success" type="redirect">/user/IndexBBS.action</result>
3 <result name="input">/user/userlogin.jsp</result>
4 </action>
5
6 <action name="IndexBBS" class="org.web.user.IndexBBSAction" method="list">
7 <result name="success">/user/bbsindex.jsp</result>
8 </action>
在 bbsindex.jsp 中,有如下形式
1 <s:form action="UserLogin">
2
3 <s:hidden name="username"/>
4
5 ... 6
7 <s:submit action="BbsList"/>
8
9 </s:form>
理解為:這個jsp是從UserLogin.action跳轉過來的,並且這個action傳給它一個參數"username"。而<s:submit>中的action是指這個表單提交的時候要跳轉的action