我有包含应用程序创建方法的动作类,如果应用程序保存成功则返回“成功”。正如你可以使用我的struts.xml,我正在重定向到应用程序只读模式。当我通过“tenantId”(在会话中包含)重定向到只读操作默认名称空间覆盖时
这是重定向网址
http://localhost:8080/scandium/tenantId/applicationView.html!tenantId?applicationId=40
为什么会有“!”在网址? 它如何将默认命名空间更改为“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>
提前谢谢你,
Udeshika
答案 0 :(得分:0)
它是你正确的struts.xml文件吗?您的struts文件似乎缺少tile的结果类型
<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>
`
在struts2中,redirectAction更改为重定向。进行更改尝试并告诉我
答案 1 :(得分:0)
您的配置中存在一些错误。一个“浮动”类型=“tile ...和一个封闭的(但从未打开过)html注释标记。
改变这个:
<action name="createApplication"
class="com.action.ApplicationAction"
method="create">
type="tiles">/applicationReadOnlyBody.tiles</result>-->
到此:
<action name="createApplication"
class="com.action.ApplicationAction"
method="create">
看看它是否有效或以某种方式改变......