Struts2 Struts submit选项卡上的“我的操作”属性未将我发送到正确的Struts操作
查看文档,我认为我应该能够使用submit按钮转到与包含按钮的Struts2 Struts submit选项卡上的“我的操作”属性未将我发送到正确的Struts操作,struts2,Struts2,查看文档,我认为我应该能够使用submit按钮转到与包含按钮的表单的属性不同的操作。但是当我使用下面的代码时,当我单击按钮时,它会转到nameSearch操作,而不是newRequest操作。nameSearch操作与newRequest操作位于不同的namespace中。这会引起问题吗?任何帮助都将不胜感激 <s:form action="nameSearch" method="post" validate="false"> <div class="col-sm-6
表单的属性不同的操作。但是当我使用下面的代码时,当我单击按钮时,它会转到nameSearch
操作,而不是newRequest
操作。nameSearch
操作与newRequest
操作位于不同的namespace
中。这会引起问题吗?任何帮助都将不胜感激
<s:form action="nameSearch" method="post" validate="false">
<div class="col-sm-6 col-xs-12 text-right">
<s:submit action="newRequest" value="Cancel" />
</div>
</s:form>
编辑:相关的xml代码是
<package name="eval" namespace="/eval" extends="default">
<action name="newRequest" class="gov.mo.dnr.egims.controller.evaluation.NewRequestAction">
<result name="success" type="tiles">newRequest</result>
<result name="error" type="tiles">error</result>
</action>
<action name="newRequest_NameSearch" class="gov.mo.dnr.egims.controller.evaluation.NewRequestAction" method = "generateNameList">
<result name="success" type="tiles">newRequest</result>
<result name="nameSearch" type="tiles">nameSearch2</result>
<result name="error" type="tiles">error</result>
</action>
</package>
<package name="req" namespace="/req" extends="default">
<action name="nameSearch" class="gov.mo.dnr.egims.controller.request.NameSearchAction">
<result name="success" type="tiles">nameSearch</result>
<result name="error" type="tiles">error</result>
</action>
</package>
新请求
错误
新请求
名称搜索2
错误
名称研究
错误
我通过newRequest\u NameSearch
操作进入该按钮。我尝试将按钮的action
属性更改为action=“/eval/newRequest”
,但它仍然转到nameSearch
操作。需要有关struts.xml的更多信息。我猜框架在命名空间/
中找不到newRequest
,然后它又回到nameSearch
请看Struts中的示例:
greeting.jsp
bar2.jsp
如果向/barspace/foo.action
发出请求,将检查命名空间/barspace
中的操作foo。如果未找到本地操作,将选中默认命名空间。在名称空间示例中,名称空间/barspace
中没有操作foo
,因此,将检查默认值并执行/foo.action
。此:+名称空间。问题是我的struts.xml中没有您在另一个链接的回答中提到的
。如果他们默认禁用action属性,这是否意味着打开它是一个安全问题?没有安全问题,但是这可能是未来修复的结果。请参阅发行说明并阅读安全公告以了解安全性。
<package name="default">
<action name="foo" class="mypackage.simpleAction">
<result name="success" type="dispatcher">greeting.jsp</result>
</action>
<package name="mypackage2" namespace="/barspace">
<action name="bar" class="mypackage.simpleAction">
<result name="success" type="dispatcher">bar2.jsp</result>
</action>
</package>