標籤:gpo extends mapped war web lob [] pack 無法
最新動向struts版本發現,無論怎麼訪問就是無法映射到指定的設定檔,最後發現原來是存取控制的原因.struts2.3之後為了訪問安全,增加了要求方法攔截,這樣會造成使用萬用字元訪問時無法找到映射對象的錯誤提示:
There is no Action mapped for namespace [/] and action name [m_hi] associated with context path [].
解決方式: 1 如果你的引用包struts2-core是2.3以上版本需要更新struts.xml的檔案頭:
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd">
2 並在struts.xml中開放方法訪問:
方式一:全域配置
<package name="default" extends="struts-default">
<global-allowed-methods>regex:.*</global-allowed-methods>
</package>
方式二:action標籤內配置(多個方法逗號隔開)
<action name="login" method="login" class="loginAction">
<result name="login">/WEB-INF/login.jsp</result>
<allowed-methods>login</allowed-methods>
</action>
There is no Action mapped for namespace [/] and action name [m_hi] associated with context path []