2013-10-18 25 views
1

我修改了我的struts.xml以使用.htm來執行我的所有操作。如何自動添加struts動作後綴

<package name="home" namespace="/secured" extends="default"> 
    <default-action-ref name="index" /> 

    <action name="index" class="homeAction" method="execute"> 
     <result name="success" type="tiles">home</result> 
    </action> 
</package> 

我有 http://someurl/someproject/secured/somesubgroup/actionname.htm

URL映射但是,如果我叫http://someurl/someproject/securedhttp://someurl/someproject/secured/somesubgroup,我得到一個404錯誤。如果我在網址中添加.htm,我不會遇到任何問題。

我已經爲/secured/somesubgroup/secured命名空間定義了默認操作,我希望當我只調用上面的URL時,將會調用默認操作。

現在,我該如何自動添加.htm?或者是否有任何解決方法?

編輯:

這裏的struts.xml

<struts> 
    <constant name="struts.enable.DynamicMethodInvocation" value="false"/> 
    <constant name="struts.action.extension" value="htm" /> 
    <constant name="struts.objectFactory" value="spring" /> 
    <constant name="struts.devMode" value="true"/> 

    ... 
</struts> 
+0

*我修改了struts.xml中使用的.htm爲我所有的行動*在哪裏? –

+0

@AleksandrM我在帖子中添加了struts.xml。 – makalshrek

+0

我已經添加了答案。 :) –

回答

1

爲了支持不採取行動,後綴的行動必須聲明struts.action.extension不斷像這樣:

<constant name="struts.action.extension" value="htm,," /> 
+0

這就是我要找的。大。 – makalshrek

+0

但我遇到了一個問題。當我用正斜槓調用URL「http:// localhost:8080/ivrbo/secured /」時,它起作用。但是,當我刪除正斜槓'http:// localhost:8080/ivrbo/secured'時,請求最終會到達webapp文件夾的'index.jsp'。 – makalshrek

+0

這是一個完全不同的問題。這與你的'htm'動作後綴無關。你應該問不同的問題。 –