我正在学习struts2应用程序开发,感谢一些帮助实现自定义404页面。在我的申请中,
web.xml有以下内容:
<error-page>
<error-code>404</error-code>
<location>/jsp/pub/error404.jsp</location>
</error-page>struts.xml has :
<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。
<constant name="struts.devMode" value="false" />error404.jsp : 请点击此处查看jsp源代码
问题:
当我使用无效的url或未映射的操作访问应用程序时,我看到的是以下消息,而不是自定义404页
"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行出现异常
6: <s:url value='/' var="contextPrefix" />如果我删除所有的's‘标签,并将error404.jsp作为普通的jsp页面,那么我可以看到自定义404页。我在哪里做错事?任何帮助来解决这个问题都会有很大帮助。
提前感谢
S
发布于 2012-10-15 16:03:23
大多数S2 JSP标记都希望在S2请求的上下文中运行。直接引用JSP会绕过S2请求进程,因此没有值栈,因此大多数标记都会中断。
https://stackoverflow.com/questions/12899183
复制相似问题