struts2平铺中的url链接在单击后第二次添加命名空间。我该怎么阻止这一切?

struts2平铺中的url链接在单击后第二次添加命名空间。我该怎么阻止这一切?,struts2,namespaces,tiles,Struts2,Namespaces,Tiles,我使用的是struts 2、tiles和名称空间,我遇到了一个问题,单击链接后,菜单会再次附加名称空间。我将struts标记url与操作和名称空间一起使用。第一次显示页面时,菜单中的链接是正确的,并且在操作之前具有名称空间。单击其中一个链接后,页面重新显示,尽管源代码看起来不错,但当我将鼠标悬停在上面时,firefox会两次显示带有名称空间的url。即 localhost/ar/customermaint变为localhost/ar/ar/customermaint。如果我首先单击了一个具有不同

我使用的是struts 2、tiles和名称空间,我遇到了一个问题,单击链接后,菜单会再次附加名称空间。我将struts标记url与操作和名称空间一起使用。第一次显示页面时,菜单中的链接是正确的,并且在操作之前具有名称空间。单击其中一个链接后,页面重新显示,尽管源代码看起来不错,但当我将鼠标悬停在上面时,firefox会两次显示带有名称空间的url。即

localhost/ar/customermaint变为localhost/ar/ar/customermaint。如果我首先单击了一个具有不同名称空间(如“ss”)的链接,那么它将成为localhost/ss/ar/customermaint


知道我做错了什么吗?或者这是瓷砖和名称空间的问题。

我以前遇到过这个问题。每次调用操作时,名称空间都会附加到URL中,看起来很难看

示例:
http://localhost:8080/RmAirlines/user/user/user/user/user/login
用于每次从命名空间
用户
调用操作
登录

将名称空间设置为“/”也不是理想的解决方案

解决方案:假设
名称空间
“/user”
,其中有一个名为
“login”
操作(在
struts.xml
中)。然后,无论何时调用
操作
,请将其称为
操作=“/user/login”
(或
操作=“/user/login.action”
)-即在名称空间前放置“/”将节省您的时间

示例:

struts.xml

<package name="userManagement" namespace="/user" extends="struts-default">      
        <action name="login" class="com.rm.airlines.action.Login">
            <result name="success">/user.jsp</result>
            <result name="login">/login.jsp</result>
        </action>       
</package>

/user.jsp
/login.jsp
login.jsp

<s:form action="/user/login">
        <s:textfield label="Email" key="email" />
        <s:password label="Password" key="password" />
        <s:submit />
</s:form>


与平铺无关,请使用前导“/”命名struts2名称空间。如果不使用,这是预期的行为。。。为什么我不确定,所以我只是用“/”来命名,我发现了问题。名称空间在我的url名称空间字段中必须是相对的。当我将其更改为namespace=“/ss”时,我有namespace=“ss”,它解决了这个问题。一些S2标记中有
namespace
属性正好用于此。