这是“struts.xml”:
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="register" namespace="/" extends="struts-default">
<action name="Register" class="com.struts2.RegisterAction">
<result name="input">/register.jsp</result>
<result type="redirectAction">register.jsp</result>
</action>
</package>
在Tomcat中工作得非常好但总是在WAS 6.1中生成以下错误:
“没有针对命名空间/和操作名称映射的操作。 - [未知位置]”
但是如果我像下面这样修改“struts.xml”那么它在WAS6.1中运行良好:
<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="register" namespace="/register" extends="struts-default">
<action name="Register" class="com.struts2.RegisterAction">
<result name="input">/register.jsp</result>
<result type="redirectAction">register.jsp</result>
</action>
</package>
<package name="default" namespace="/" extends="struts-default">
<default-action-ref name="index" />
<action name="index">
<result type="redirectAction">
<param name="actionName">Register</param>
<param name="namespace">/register</param>
</result>
</action>
</package>
我完全无法理解是什么原因。它一直在寻找我相信动作名称“索引”。任何人都可以解释原因是什么吗?
答案 0 :(得分:0)
我不确定这是否是问题的原因但是我看不到你在struts.xml中定义了一个名为“register.jsp”的动作。结果类型“redirectAction”用于定位struts2操作。在输入时,您不指定类型,因此假定默认值为“dispatcher”。
变化:
<result type="redirectAction">register.jsp</result>
与
<result>register.jsp</result>
假设请求类型为“dispatcher”(jsp),名称为“success”。