struts.convention.result.path 在 Struts2 中不工作
struts.convention.result.path is not working in Struts2
我目前的项目结构如下
WebContent
WEB-INF
View
TestPage.jsp
other JSP pages...
我的任务是将所有 JSP 页面放入文件夹 WEB-INF 并在项目中进行所有相关更改。
WebContent
WEB-INF
View
TestPage.jsp
other JSP pages...
所以我必须更新 struts.xml
中的所有结果标签
<result name="success">/View/TestPage.jsp</result>
到
<result name="success">/WEB_INF/View/TestPage.jsp</result>
在网上搜索后我找到了一个插件——struts约定插件来实现这个,但是它遵循它的命名约定。
是否可以重写Struts约定的插件配置(不会遵循其命名约定)?我也试过了,但没有反应。我的 struts.xml
是
<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>
当我运行
localhost:8080/project-name/hello1
如果我将 struts.xml 中的结果更改为
,它会显示错误 404.But
<result name="success">/WEB-INF/View/TestPage.jsp</result>
它工作正常。
我不想更改所有结果tags.How我可以通过在一个地方进行更改来实现吗?
约定插件使用不同的配置提供程序,此常量仅适用于约定创建的配置。
<constant name="struts.convention.result.path" value="/WEB-INF/View/" />
如果您想覆盖约定配置,您应该使用注释。
package testAction;
@ParentPackage("json-default")
@Namespace("/")
@Action(value="hello1", results=@Result(name = "success", location="TestPage.jsp"))
public class Hello1Action extends ActionSupport {
}
我目前的项目结构如下
WebContent
WEB-INF
View
TestPage.jsp
other JSP pages...
我的任务是将所有 JSP 页面放入文件夹 WEB-INF 并在项目中进行所有相关更改。
WebContent
WEB-INF
View
TestPage.jsp
other JSP pages...
所以我必须更新 struts.xml
中的所有结果标签<result name="success">/View/TestPage.jsp</result>
到
<result name="success">/WEB_INF/View/TestPage.jsp</result>
在网上搜索后我找到了一个插件——struts约定插件来实现这个,但是它遵循它的命名约定。
是否可以重写Struts约定的插件配置(不会遵循其命名约定)?我也试过了,但没有反应。我的 struts.xml
是
<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>
当我运行
localhost:8080/project-name/hello1
如果我将 struts.xml 中的结果更改为
,它会显示错误 404.But<result name="success">/WEB-INF/View/TestPage.jsp</result>
它工作正常。
我不想更改所有结果tags.How我可以通过在一个地方进行更改来实现吗?
约定插件使用不同的配置提供程序,此常量仅适用于约定创建的配置。
<constant name="struts.convention.result.path" value="/WEB-INF/View/" />
如果您想覆盖约定配置,您应该使用注释。
package testAction;
@ParentPackage("json-default")
@Namespace("/")
@Action(value="hello1", results=@Result(name = "success", location="TestPage.jsp"))
public class Hello1Action extends ActionSupport {
}