2014-11-04 37 views
1
<action name="/partner/*/*" class="webStoreAction"> 
    <param name="saveUrl">true</param> 
    <param name="homeName">HomePartner</param> 
    <param name="partner">{1}</param> 
    <param name="partnerId">{2}</param> 
    <param name="homeFromMenu">false</param> 
    <result name="success" type="jsf"> 
     /WEB-INF/pages/load.xhtml 
    </result> 
</action> 

爲什麼localhost:8080/partner/partnerName匹配此操作?錯誤的URL匹配行動

+0

請參閱http://stackoverflow.com/q/26235071/1700321。 – 2014-11-04 18:09:39

+0

什麼是模式匹配器配置? – 2014-11-04 19:10:03

+0

在我的struts.xml中 \t <常數名稱=「struts.mapper.alwaysSelectFullNamespace」value =「false」/>'。對不起@羅曼C「/夥伴/ */*」這種模式? – user2997534 2014-11-04 19:39:54

回答

2

嘗試<constant name="struts.patternMatcher" value="regex"/>上述常量的唯一可行匹配器。這通常與高級通配符模式一起使用,解釋here

將URL分割成命名空間/和操作名稱partner/partnerName。最後一個匹配使用通配符映射器(這是默認映射器)在動作配置中從名稱編譯的模式。

+0

謝謝!它的工作 – user2997534 2014-11-05 12:28:47

+0

不客氣 – 2014-11-05 12:33:20