2012-03-29 32 views
2

我正在使用struts2-convention-plugin 2.3.1.2。Struts2 Convention Plugin Action Url

<constant name="struts.ui.theme" value="simple" /> 
    <constant name="struts.convention.default.parent.package" value="qqq"/> 
    <constant name="struts.convention.package.locators.basePackage" value="zzz.yyy.xxx.action"/> 
    <constant name="struts.enable.SlashesInActionNames" value="true"/> 
    <constant name="struts.mapper.alwaysSelectFullNamespace" value="true"/> 

    <package name="qqq" extends="struts-default" namespace="/"> 
     <!-- 
     Some package configurations 
     --> 
    </package> 

struts2.xml配置如上。

<filter> 
    <filter-name>struts2</filter-name> 
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
    <init-param> 
     <param-name>actionPackages</param-name> 
     <param-value>zzz.yyy.xxx.action</param-value> 
    </init-param> 
    </filter> 

    <filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>*</url-pattern> 
    </filter-mapping> 

web.xml如上所述,而tomcat的上下文根是/ foo。

Quetstion

我放在了LoginAction到zzz.yyy.xxx.action包, 和部署的應用程序,並且我有以下結果。

  1. 本地主機:8080 /富/登錄 - >確定
  2. 本地主機:8080 /富/酒吧/登錄 - >確定
  3. 本地主機:8080 /富/酒吧/巴茲/登錄 - > OK

我有點尷尬,因爲這種行爲不是我想要的。 我想只允許第一種情況。 我該怎麼辦?

+0

我相信(不知道)這是由於命名空間回退機制S2有,但這只是一個想法,我自己有這個插件小exp – 2012-03-29 05:54:00

回答

0

在「src」文件夾中創建一個名爲struts.properties的文件。然後將下面的行添加到它。

struts.convention.action.suffix = Controller 
相關問題