在struts.xml中没有“resultpath”常量的影响

时间:2013-01-02 15:20:22

标签: struts2

我在WebContent文件夹中有所有jsp页面(例如:index.jsp),我的应用程序运行顺畅。 现在,我创建了一个文件夹" pages"在WebContent里面,我转移了所有的jsp页面。

我在<struts>标记中添加了以下行:

<constant name="struts.convention.result.path" value="/pages" />

但是,它还没有在&#34;页面内搜索jsp&#34;夹。 我得到了:

HTTP状态404 - /MyApplicationName/index.jsp

我在哪里犯错?

编辑:我的申请的当前结构如下:

欢迎页面是一个动作,而不是一个jsp页面。此操作的结果页面是index.jsp。此操作将填充index.jsp中的下拉菜单和其他一些字段。现在,我想将index.jsp与其他jsp页面一起保存在文件夹&#34; WebContent / pages&#34;中。我的应用程序中有超过30个jsp页面,我不想提及结果标记中每个jsp的完整路径。这就是为什么我要使用struts2常量&#34; struts.convention.result.path&#34;

我的问题是,为什么我上面提到的代码不起作用?

3 个答案:

答案 0 :(得分:1)

直接访问index.jsp会绕过所有S2请求处理。

没有涉及S2或S2 Convention插件,您只是访问JSP页面。

答案 1 :(得分:0)

如果index.jsp是您应用程序的第一页,那么您需要将其路径更改为web.xml的<welcome-file>标记中的/pages/index.jsp。休息时我同意@Dave Newton:)

答案 2 :(得分:0)

可能你的错误是在struts.xml中。

new-Folder制作下创建web-content,同名(文件夹名称)为

xml file under src并将其包含在struts.xml文件中,它可以正常使用。

例如:假设您在web-content下创建了example folder,现在创建example.xml文件

在src文件夹下,在struts.xml文件中包含example.xml

  

的example.xml:

<struts>

    <package name="example" namespace="/example" extends="default">
     <action name="your action name" class="your class" method="your method">
     </action> 
</package>
</struts>
  

struts.xml中:

<struts>

<constant name="struts.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />

<action  name="" class="" method="">
</action>
</package>

<include file="example.xml"/>