Struts2命名空间在重定向url时发生更改
我有一个包含应用程序创建方法的action类,如果应用程序保存成功,它将返回“success”。正如您可以看到的那样,我正在重定向到应用程序只读模式。当我重定向到只读操作时,默认名称空间由“tenantId”覆盖(包含在会话中) 这是重定向urlStruts2命名空间在重定向url时发生更改,struts2,struts,Struts2,Struts,我有一个包含应用程序创建方法的action类,如果应用程序保存成功,它将返回“success”。正如您可以看到的那样,我正在重定向到应用程序只读模式。当我重定向到只读操作时,默认名称空间由“tenantId”覆盖(包含在会话中) 这是重定向url http://localhost:8080/scandium/tenantId/applicationView.html!tenantId?applicationId=40 为什么url中有“!”呢? 它如何将默认名称空间更改为“tenantId”
http://localhost:8080/scandium/tenantId/applicationView.html!tenantId?applicationId=40
为什么url中有“!”呢?
它如何将默认名称空间更改为“tenantId”
有人能帮我解决这个问题吗
<struts>
<constant name="struts.devMode" value="true"/>
<constant name="struts.action.extension" value="html"/>
<package name="default" namespace="/" extends="struts-default">
<action name="createApplication" class="com.action.ApplicationAction" method="create">
type="tiles">/applicationReadOnlyBody.tiles</result>-->
<result name="success" type="redirectAction">
<param name="actionName">applicationView.html</param>
<!-- <param name="namespace">/</param> -->
<param name="applicationId">${appId}</param>
</result>
<result name="input" type="tiles">/new-application.tiles</result>
</action>
<action name="applicationView" class="com.action.ApplicationReadOnlyAction" method="viewApplication">
<result name="success" type="tiles">/applicationReadOnlyBody.tiles</result>
</action>
</package>
</struts>
type=“tiles”>/applicationReadOnlyBody.tiles-->
applicationView.html
${appId}
/新应用程序.tiles
/applicationReadOnlyBody.tiles
提前谢谢大家,
Udeshika它是您正确的struts.xml文件吗?struts文件似乎缺少平铺的结果类型
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
struts.xml应该如下所示:`
<struts>
<constant name="struts.devMode" value="true"/>
<constant name="struts.action.extension" value="html"/>
<package name="default" namespace="/" extends="struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="createApplication" class="com.action.ApplicationAction" method="create">
type="tiles">/applicationReadOnlyBody.tiles</result>-->
<result name="success" type="redirectAction">
<param name="actionName">applicationView.html</param>
<!-- <param name="namespace">/</param> -->
<param name="applicationId">${appId}</param>
</result>
<result name="input" type="tiles">/new-application.tiles</result>
</action>
<action name="applicationView" class="com.action.ApplicationReadOnlyAction" method="viewApplication">
<result name="success" type="tiles">/applicationReadOnlyBody.tiles</result>
</action>
</package>
</struts>
type=“tiles”>/applicationReadOnlyBody.tiles-->
applicationView.html
${appId}
/新应用程序.tiles
/applicationReadOnlyBody.tiles
`
在struts2中,重定向操作更改为重定向。进行更改尝试并告诉我您的配置中有一些错误。一个“floating”type=“tiles…”和一个关闭(但从未打开)的html注释标记 更改此项:
<action name="createApplication"
class="com.action.ApplicationAction"
method="create">
type="tiles">/applicationReadOnlyBody.tiles</result>-->
type=“tiles”>/applicationReadOnlyBody.tiles-->
为此:
<action name="createApplication"
class="com.action.ApplicationAction"
method="create">
看看它是否能正常工作或有什么变化…谢谢你的回复,它已经存在了,我已经把struts的一些部分放在那里了。struts 2中存在xml
redirectAction
。redirect
直接用于url,而redirectAction
用于操作。请参阅