在web.xml中添加条件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在web.xml中添加条件相关的知识,希望对你有一定的参考价值。
这是我的web.xml的一部分
<error-page>
<error-code>500</error-code>
<location>/index</location>
</error-page>
有没有办法告诉web.xml文件在开发模式下:
<location>/displayException</location>
对于上面的location property
?
或通过代码添加条件的任何方式?
尝试这样做的目的是:在开发模式中,我希望在页面和实时模式中看到异常,我想在发生异常时将其重定向到默认页面。
你不能在web.xml
级别这样做。如果web.xml
尊重系统属性但它没有,这可能是一个很酷的功能。
所以你只能在代码中这样做。幸运的是,你有各种可能性。您可以将错误URL映射到JSP,您可以根据系统属性或存储在属性文件,DB或其他所需位置的其他参数来实现逻辑。您也可以在HTTP过滤器中执行此操作。
您还可以创建web.xml的多个版本:一个用于生产,另一个用于测试。如果要避免重复,请使用模板中的自动生成创建这些版本。
在Wildfly中,有一种不可移植的方法可以在web.xml(以及其他类似persistence.xml)中启用系统属性评估。为此,请在ee
子系统中的服务器配置(standalone.xml或其他)中指定以下内容:
<subsystem xmlns="urn:jboss:domain:ee:2.0">
<spec-descriptor-property-replacement>true</spec-descriptor-property-replacement>
<!-- ... -->
</subsystem>
然后你可以做这样的事情:
<location>${myapp.errorpage.location}</location>
您可以在错误或位置页面中使用if语句。 web.xml
不支持if语句。
//error page
if("blog".equals(url))
blog content ......
else if("profile".equals(url))
profile content ......
以上是关于在web.xml中添加条件的主要内容,如果未能解决你的问题,请参考以下文章
maven web项目的web.xml报错The markup in the document following the root element must be well-formed.(代码片段