2013-06-11 12 views
5

Questa è una parte del mio web.xmlcondizioni Aggiunta in web.xml

<error-page> 
    <error-code>500</error-code> 
    <location>/index</location> 
    </error-page> 

C'è un modo per dire al file web.xml che nella modalità di sviluppo:

<location>/displayException</location>

per il precedente location property?

o un modo per aggiungere condizioni tramite codice?

Scopo di provare a farlo è: In modalità di sviluppo, voglio vedere l'eccezione nella pagina e in modalità live, desidero reindirizzare la pagina predefinita quando si verifica un'eccezione.

risposta

3

Non è possibile farlo nel livello web.xml. Questa potrebbe essere una caratteristica interessante se web.xml rispetta le proprietà di sistema ma non lo fa.

Quindi l'unico modo è farlo in codice. Fortunatamente hai varie possibilità. È possibile associare l'URL di errore a JSP in cui implementare la logica in base alla proprietà di sistema o ad altri parametri memorizzati nel file di proprietà, nel database o dove si desidera. Puoi farlo anche nel filtro HTTP.

Puoi anche creare diverse versioni del tuo web.xml: uno per la produzione, altro per i test. Se si desidera evitare duplicazioni, creare queste versioni utilizzando la generazione automatica dal modello.

+0

** alcune versioni del tuo web.xml ** faranno questo.Come ci sono cambiamenti sul server come questo.Grazie. –

1

In Wildfly esiste un modo non portabile per abilitare la valutazione delle proprietà di sistema in web.xml (e altri, come persistence.xml). Per fare questo specificare quanto segue nella configurazione del server (standalone.xml o altro), nel sottosistema ee:

<subsystem xmlns="urn:jboss:domain:ee:2.0"> 
    <spec-descriptor-property-replacement>true</spec-descriptor-property-replacement> 
    <!-- ... --> 
</subsystem> 

Poi si potrebbe fare cose come questa:

<location>${myapp.errorpage.location}</location> 
0

È possibile utilizzare if nella pagina di errore o posizione. web.xml non supporta le istruzioni.

//error page 
if("blog".equals(url)) 
    blog content ...... 
else if("profile".equals(url)) 
    profile content ...... 
+0

// errore pagina if ("blog" .equals (url)) contenuto blog ...... else if ("profilo" .equals (url)) contenuto profilo ...... –