-1
我对struts2 web项目的struts.xml存在问题。 我有登录页面,登录后URL将添加“/ secure/.action”。 我试图在struts.xml中有两个包。一个是正常的“/”,第二个是“/ secure”。但是会导致登录后404找不到页面。如果我在命名空间中创建第二个包“\”,并且仅使用“/”命名空间调用membersite.action,则它将成功并直接成功,但在URL中只有“/ .action”。我需要在基础结构问题中拥有此URL“/secure/*.action”。有没有什么提示?struts.xml名称空间导致404未找到页面
<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>
试过,但还是同样的错误。 – Chiu
我发现了这个问题。因为我有loginFilter会检查会话用户ID值。如果它为空,则会显示问题。当我越过名字空间时,会话用户ID将变为空。我无法删除登录过滤器,有什么办法解决它? – Chiu
什么是loginFilter? –