这是我web.xml的一部分
<error-page>
<error-code>500</error-code>
<location>/index</location>
</error-page>有什么方法可以告诉web.xml文件在开发模式下:
<location>/displayException</location>
上面的location property?
或者通过代码添加条件的任何方法?
尝试这样做的目的是:在开发模式下,我希望看到页面中的异常,而在活动模式下,当出现异常时,我希望将它重定向到默认页面。
发布于 2013-06-11 11:51:25
您不能在web.xml级别执行此操作。如果web.xml尊重系统属性,这可能是一个很酷的特性,但它不是。
所以你唯一的办法就是用代码来完成这个任务。幸运的是你有各种各样的可能性。您可以将错误URL映射到JSP,在JSP中,您可以根据存储在属性文件、DB中的系统属性或其他参数或您想要的位置实现逻辑。您也可以在HTTP过滤器中这样做。
您还可以创建多个版本的web.xml:一个用于生产,另一个用于测试。如果您想避免重复,请使用模板自动生成创建这些版本。
发布于 2015-09-30 11:18:28
在Wildfly中,有一种不可移植的方法可以在web.xml (以及其他类似于persistence.xml)中启用系统属性评估。为此,请在服务器配置(standalone.xml或其他)中的ee子系统中指定以下内容:
<subsystem xmlns="urn:jboss:domain:ee:2.0">
<spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
<!-- ... -->
</subsystem>然后你可以做这样的事情:
<location>${myapp.errorpage.location}</location>发布于 2018-01-02 06:16:08
您可以在错误或位置页面中使用if语句。web.xml不支持if语句。
//error page
if("blog".equals(url))
blog content ......
else if("profile".equals(url))
profile content ......https://stackoverflow.com/questions/17043283
复制相似问题