首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >struts.convention.result.path不在Struts2中工作

struts.convention.result.path不在Struts2中工作
EN

Stack Overflow用户
提问于 2015-02-06 10:44:47
回答 1查看 1.4K关注 0票数 1

我目前的项目结构如下

代码语言:javascript
复制
WebContent
   WEB-INF
   View
     TestPage.jsp
     other JSP pages...

我的任务是将所有JSP页面放在文件夹WEB中,并在项目中进行所有相关更改。

代码语言:javascript
复制
WebContent
   WEB-INF
      View
        TestPage.jsp
        other JSP pages...

所以我必须更新struts.xml中的所有结果标记

代码语言:javascript
复制
<result name="success">/View/TestPage.jsp</result>

代码语言:javascript
复制
<result name="success">/WEB_INF/View/TestPage.jsp</result>

在网上搜索之后,我找到了一个插件- struts约定插件来实现这一点,但是它遵循了它的命名规则。

我可以覆盖Struts约定插件配置(这不会遵循它的命名约定)吗?我也尝试过了,但它没有反映。我的struts.xml

代码语言:javascript
复制
<struts>
    <constant name="struts.devMoade" value="true" />
    <constant name="struts.convention.result.path" value="/WEB-INF/View/" />

    <package name="test" extends="struts-default" namespace="/">
        <action name="hello1" class="testAction.Hello1Action">
            <result name="success">/TestPage.jsp</result>
        </action>
    </package>
</struts>

当我跑的时候

代码语言:javascript
复制
localhost:8080/project-name/hello1

它显示错误404,但如果我将struts.xml中的结果更改为

代码语言:javascript
复制
<result name="success">/WEB-INF/View/TestPage.jsp</result>

效果很好。

我不想在所有的结果中做改变,tags.How,我能通过在一个地方做改变来实现这一点吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-07 10:51:18

约定插件使用不同的配置提供程序,这个常量只适用于由约定创建的配置。

代码语言:javascript
复制
<constant name="struts.convention.result.path" value="/WEB-INF/View/" />

如果要重写约定配置,则应使用注释。

代码语言:javascript
复制
package testAction;

@ParentPackage("json-default")
@Namespace("/")
@Action(value="hello1", results=@Result(name = "success", location="TestPage.jsp"))
public class Hello1Action extends ActionSupport {
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28363971

复制
相关文章

相似问题

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