最近一直在看一个工程例子,遇到一个问题就是在 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