Java 想问一下struts2中struts.xml的action中的name的命名用不用跟login.jsp中form中的action的命

struts.xml
<package name="mainlogin" extends="struts-default" namespace="/">
<action name="login" class="com.reyzar.action.web.LoginAction" method="execute">
<result name="success">/backend.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>

login.jsp
<s:form action="login" namespace="/">
<s:textfield name="operators.username" label="username"></s:textfield><br/>
<s:password name="operators.password" label="password"></s:password><br/>
<s:submit></s:submit>
</s:form>

想问一下struts2中struts.xml的action中的name的命名用不用跟login.jsp中form中的action的命名相同?不同会怎样?

要相同,不过这个要看你的WEB.XML的配置,有时候你会看到一些请求是actionname.action,那个是因为web.xml配置只拦截.action结束的请求,其它的还是按照普通的来处理。
这样说吧,如果你web.xml配置拦截为/*的话那两个action的参数就要相同,如果你的web.xml配置拦截*.action的话,那你jsp页面的是actionname.action,而struts.xml的只是actionname
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-09
这个必须一样的 不过在不同的编译原理和配置 login.jsp的action方法需要用login.action
第2个回答  2012-09-09
要一样,不然你的请求不会提交到你配置的那个action中本回答被提问者采纳
第3个回答  2012-09-10
感觉是需要
相似回答