struts2.5使用通配符时action指定method报错
也就是说一使用{1}符号就报错,报错信息:ERRORDispatcherCouldnotfindactionorresult:/stt2_1/loginActionThe...
也就是说一使用{1}符号就报错,报错信息:
ERROR Dispatcher Could not find action or result: /stt2_1/loginAction
There is no Action mapped for namespace [/] and action name [loginAction] associated with context path [/stt2_1]. - [unknown location]
表单:
<s:form action="loginAction" method="post">
<s:textfield name="username" key="username" />
<s:textfield name="password" key="password" />
<s:submit key="submit_login" />
</s:form>
配置文件:
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="demo1" extends="struts-default">
<action name="*Action" class="XXX.LoginAction" method="{1}" >
<result name="success">/jsp/a1.jsp</result>
<result name="error">/jsp/a2.jsp</result>
</action>
<action name="*">
<result>/jsp/{1}.jsp</result>
</action>
</package>
</struts>
第一个action匹配不上,如果把第一个action里的method属性去掉就又可以匹配了,不知道为什么 展开
ERROR Dispatcher Could not find action or result: /stt2_1/loginAction
There is no Action mapped for namespace [/] and action name [loginAction] associated with context path [/stt2_1]. - [unknown location]
表单:
<s:form action="loginAction" method="post">
<s:textfield name="username" key="username" />
<s:textfield name="password" key="password" />
<s:submit key="submit_login" />
</s:form>
配置文件:
<struts>
<constant name="struts.devMode" value="true" />
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<package name="demo1" extends="struts-default">
<action name="*Action" class="XXX.LoginAction" method="{1}" >
<result name="success">/jsp/a1.jsp</result>
<result name="error">/jsp/a2.jsp</result>
</action>
<action name="*">
<result>/jsp/{1}.jsp</result>
</action>
</package>
</struts>
第一个action匹配不上,如果把第一个action里的method属性去掉就又可以匹配了,不知道为什么 展开
2个回答
展开全部
struts2的action方法不能带参数!这是规定
追问
我没带参数啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
去掉后能匹配说明调用的时候没有login这个方法,因为你调用的时候会根据loginAction找到类,找到类以后会找对应的方法,如果没有配置method属性就会找名字叫execute的方法。如果配置method属性,就会找到method对应的方法
更多追问追答
追问
但是确实有这个方法啊,而且错误信息是说找不到LoginAction这个类。而且如果不用通配符直接写method=“login”也能匹配上
追答
一个action对应的是一个action类中的一个方法,而不是一个类。也就是说如果找到类,但是没找到请求方法也是报没找到action。,一个action对应的是一个actionmapping,actionmapping中包含不仅有类名,还有方法名。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询