struts <s:form action=""> 和 <s:submit action=""> 的区别

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

原文地址:https://www.cnblogs.com/lihuiyy/p/2534510.html