首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Struts2中实现自定义404页

问如何在Struts2中实现自定义404页
EN

Stack Overflow用户
提问于 2012-10-15 15:43:40
回答 1查看 2.8K关注 0票数 0

我正在学习struts2应用程序开发,感谢一些帮助实现自定义404页面。在我的申请中,

web.xml有以下内容:

代码语言:javascript
复制
<error-page>
    <error-code>404</error-code>
    <location>/jsp/pub/error404.jsp</location>
</error-page>

struts.xml has :

代码语言:javascript
复制
    <package name="actions-default" extends="struts-default">

    <global-results>
        <result name="exception">/jsp/pub/exception.jsp</result>
    </global-results>

    <global-exception-mappings>
        <exception-mapping exception="java.lang.Exception"
            result="exception" />
        <exception-mapping exception="java.lang.RuntimeException"
            result="exception" />
    </global-exception-mappings>

</package>

,在struts.xml devMode中设置为false。

代码语言:javascript
复制
<constant name="struts.devMode" value="false" />

error404.jsp : 请点击此处查看jsp源代码

问题:

当我使用无效的url或未映射的操作访问应用程序时,我看到的是以下消息,而不是自定义404页

代码语言:javascript
复制
"HTTP Status 404 - There is no Action mapped for namespace [/] and action name [invalidurl] associated with context path"

在应用程序控制台,我看到以下内容:

严重:异常处理ErrorPageerrorCode=404,location=/ JSP /pub/error404.jsp org.apache.jasper.JasperException:处理jsp页/jsp/pub/error404.jsp在第6行出现异常

代码语言:javascript
复制
6: <s:url value='/' var="contextPrefix" />

如果我删除所有的's‘标签,并将error404.jsp作为普通的jsp页面,那么我可以看到自定义404页。我在哪里做错事?任何帮助来解决这个问题都会有很大帮助。

提前感谢

S

EN

回答 1

Stack Overflow用户

发布于 2012-10-15 16:03:23

大多数S2 JSP标记都希望在S2请求的上下文中运行。直接引用JSP会绕过S2请求进程,因此没有值栈,因此大多数标记都会中断。

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

https://stackoverflow.com/questions/12899183

复制
相关文章

相似问题

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