簡體   English   中英

在web.xml中添加條件

[英]Adding conditions in 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 ......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM