我在struts2 web项目的struts.xml上遇到了问题。 我有登录页面,登录后,URL将添加" / secure / .action"。 我试着在struts.xml中有两个包。一个是正常的" /"第二个是" / secure"。但是登录后会导致404找不到页面。如果我也制作第二个包裹" \"在命名空间中,仅使用" /"调用membersite.action;命名空间,它可以成功直接但只有" / .action"在网址中。我需要这个网址" / secure / *。动作"在基础设施问题。有没有提示?
<package name="awip" namespace="/" extends="tiles-default, struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
<global-results>
<result name="sessionTimeout" type="tiles">.logon.LogonForm</result>
<result name="errorRedirect" type="tiles">.errorPage</result>
</global-results>
<action name="logon" class="logonAction" method="displayLogonForm">
<result name="displayLogonForm" type="tiles">.logon.LogonForm</result>
</action>
<action name="doLogon" class="logonAction" method="doLogon">
<result name="displayLogonForm" type="tiles">.logon.LogonForm</result>
<result name="displayMainPage" type="redirectAction">
<param name="namespace">/secure</param>
<param name="actionName">membersite.action</param>
</result>
</action>
</package>
<package name="secureAwip" namespace="/secure" extends="tiles-default, struts-default">
<result-types>
<result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
<global-results>
<result name="sessionTimeout" type="tiles">.logon.LogonForm</result>
<result name="errorRedirect" type="tiles">.errorPage</result>
</global-results>
<action name="membersite" method="unspecified" class="membersiteAction">
<result name="displayMembersiteMain" type="tiles">.membersite.Main
</result>
</action>
</package>
答案 0 :(得分:0)
操作名称不应包含扩展名.action
。如果使用操作名称编写它,则操作映射器无法找到操作结果的相应映射。
代码
<param name="actionName">membersite.action</param>
应改为
<param name="actionName">membersite</param>