簡體   English   中英

在struts2中使用.action后綴訪問jsp路徑

[英]Access to jsp path with .action postfix in struts2

我有一個使用struts 2.1.8的項目。 使用struts2-convention-plugin通過注釋配置項目。 這是我在web.xml中的struts配置:

<filter>
  <filter-name>struts2Filter</filter-name>
  <filter-class>
    org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>  
    <filter-name>struts2Filter</filter-name>  
    <url-pattern>*.jsp</url-pattern>  
</filter-mapping>
<filter-mapping>   
    <filter-name>struts2Filter</filter-name>   
    <url-pattern>/struts/*</url-pattern>   
</filter-mapping>

struts.xml:

<constant name="struts.convention.default.parent.package" value="borrow-default" />
<constant name="struts.convention.package.locators" value="action" />
<constant name="struts.convention.package.locators.basePackage" value="com.abc.action" />
<constant name="struts.convention.result.path" value="/" />

A.java:

@Namespace("/regist")
public class A extends ActionSupport{
    @Action(value="/a", results = {@Result(location = "/a/test.jsp")})
    public String execute(){
        return SUCCESS;
    }
}

這是問題所在,我可以訪問URL http://localhost:8080/a/test.jsphttp://localhost:8080/regist/a.action ,但仍可以訪問同一頁面在網址http://localhost:8080/a/test.action 我不知道為什么會這樣,我的配置或代碼出了什么問題?


我還嘗試了其他一些url,似乎名稱空間沒有生效。

在web.xml中,您的網址格式如下:

<url-pattern>/struts/*</url-pattern>

但是您已經放置了jsp並通過/a/test.jsp對其進行了檢查...

我將支撐桿升級到2.3.15.1,此問題消失了

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM