首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.action后缀在struts2中访问jsp路径

使用.action后缀在struts2中访问jsp路径
EN

Stack Overflow用户
提问于 2013-02-21 07:40:08
回答 2查看 468关注 0票数 0

我有一个使用struts 2.1.8的项目。该项目通过使用struts2-convention-plugin的注释进行配置。下面是我在web.xml中的struts配置:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
<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:

代码语言:javascript
复制
@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.jsp,但仍然可以访问url http://localhost:8080/a/test.action中的相同页面。我不知道为什么会发生这种情况,我的配置或代码有什么问题?

我还尝试了一些其他的url,似乎名称空间没有生效。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-18 01:39:02

我把struts升级到2.3.15.1,这个问题消失了

票数 0
EN

Stack Overflow用户

发布于 2013-02-21 07:47:01

在web.xml中,您的url模式类似于:

代码语言:javascript
复制
<url-pattern>/struts/*</url-pattern>

但是您被放置在jsp中,并从/a/test.jsp中获得它,一旦检查它.

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14996946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档