2012-11-02 44 views
2

http://struts.apache.org/2.2.3/docs/wildcard-mappings.html,下面的配置工作混合正則表達式和通配符在Struts2的struts.xml

通配符工作

<action name="/drill/*" class="example.DrillAction" method="{1}"> 
    <result name="success" type="freemarker">/drill-{1}.ftl</result> 
</action> 

正則表達式的作品,以及

<action name="/{group}/drill/index" class="example.DrillAction" method="index"> 
    <result name="success" type="freemarker">/drill-index.ftl</result> 
</action> 

但我失敗了混合通配符和正則表達式在動作配置如下:

<action name="/{group}/drill/*" class="example.DrillAction" method="{1}"> 
    <result name="success" type="freemarker">/drill-{1}.ftl</result> 
</action> 

當我訪問HTTP路徑到主機/ rs6k /鑽頭/指數,錯誤發生:There is no Action mapped for namespace [/] and action name [rs6k/drill/index] associated with context path [].

我可以在struts.xml中配置混合正則表達式和通配符?

回答

1

您確定您已經閱讀了關於通配符映射的所有信息嗎?

<action name="/{group}/drill/{some}" class="example.DrillAction" method="{2}"> 
    <result name="success" type="freemarker">/drill-{2}.ftl</result> 
</action> 
+1

是的,它的工作原理!我被困在星號中。 – duckegg