2013-04-22 76 views
1

我想在每个“/ mobile/*”url上都有一个操作映射。Struts 2在特定命名空间上映射默认操作

当我把我的struts.xml如下因素:

<package name="default-mobile-action" extends="mobile-default"> 
    <action name="*.*" class="ca.tink.vitrine.webapp.action.DefaultAction">   
    ....  
    </action> 
</package> 

我“/移动/ *”的网址去的默认操作,这是正确的。 但是,当我改变这样的映射(我添加了一个命名空间中的“/移动”):

<package name="default-mobile-action" extends="mobile-default" namespace="/mobile"> 
    <action name="*.*" class="ca.tink.vitrine.webapp.action.DefaultAction">   
    ....  
    </action> 
</package> 

现在,“/移动/ *”的网址不访问动作(无行为被发现...... )

这是真的不是我期望的行为...

我错过了什么?

+0

见http://struts.apache.org/development/2 .x/docs/namespace-configuration.html,http://struts.apache.org/development/2.x/docs/action-configuration.html和http://struts.apache.org/development/2.x /docs/wildcard-mappings.html。 – 2013-04-22 17:15:49

+0

感兴趣的人:https://www.coderanch.com/t/610039/Struts/Mapping-default-actions – Etienne 2013-04-22 18:43:25

回答

1

你可以试试这个...

的struts.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts> 
    <include file="mobile.xml"></include> 
</struts> 

mobile.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
"http://struts.apache.org/dtds/struts-2.0.dtd"> 
<struts> 

    <package name="mobile" extends="struts-default" namespace="/mobile"> 
    </package> 
</struts> 
相关问题