2012-02-14 66 views
0

我想要做這樣的事情:Struts2的命名空間複雜的配置

<a href"page1/login.action"> Link </a> 
<a href"page2/login.action"> Link </a> 
<a href"pagen/login.action"> Link </a> 

那麼每個子文件夾都使用相同的登錄,然後我可以創建動態子

我如何必須配置的struts.xml? 這不起作用

<package name="default" extends="struts-default" namespace="/*/"> 
    <action name="login" class="package/myclass"> 
    ... 
</package> 

任何想法?

+0

命名空間不能包含通配符的答案,你可以說'命名空間=「第1頁」' – 2012-02-14 03:47:43

+0

命名空間是一個邏輯分隔,通配符不會按照您的要求工作。 – 2012-02-14 05:37:27

回答

0

最後我做的:

<package name="default" extends="struts-default" namespace="/"> 
    <action name="login" class="package/myclass" method="initCampusList" > 
    <result name="success" >/user/pickUser.jsp</result> 

我已經把結果的絕對URL 感謝

+0

如果這是你的文章的解決方案,我建議你接受你自己的答案,以便其他人可以找出哪一個是rigth answr – 2012-02-15 06:09:38

0

我們不能在名稱空間中使用通配符。但是你可以使用通配符作爲映射。

在jsp中使用struts url標記並在struts.xml的動作名稱中使用通配符。見參考http://struts.apache.org/2.2.3/docs/wildcard-mappings.html

<a href='<s:url name="page1/login.action" namespace="/">'> Link </a> 
<a href='<s:url name="page2/login.action" namespace="/">'> Link </a> 

希望這會幫助你。