Ho una domanda di base nei puntoni perché abbiamo bisogno di avere <global-forwards>
e <global-exceptions>
in struts-config.xml. Se siamo in grado di ottenere le stesse cose con <action-mappings>
stesso.Perché abbiamo bisogno di eccezioni globali e globali nei montanti?
risposta
<global-forwards>
consideri state convalidando la password nome utente per gli URL diversi, come update.do, insert.do delete.do ecc Se si tratta di un utente valido è necessario procedere alla neccesary action.if non in avanti per il login page.See le mappature di seguito
<action-mappings>
<action path="/insert" type="controller.Insert">
<forward name="success" path="/insert.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
<action path="/update" type="controller.Update">
<forward name="success" path="/update.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
<action path="/delete" type="controller.Delete">
<forward name="success" path="/delete.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
</action-mappings>
Invece di ripetere il <forward name="failure" path="/login.jsp"/>
è possibile dichiarare questo <global-forwards>
come qui di seguito
<global-forwards>
<forward name="failure" path="/login.jsp"/>
</global-forwards>
Ora è possibile remo ve lo <forward name="failure" path="/login.jsp"/>
nei mapping di azioni.
<global-exceptions>
Se si riceve eccezione java.Io anziché gestire manualmente per ogni si può dichiarare globalmente come di seguito.
<global-exceptions>
<exception type="java.io.IOException" path="/pages/error.jsp"/>
</global-exceptions>
Spero che questo chiarisca il problema.
Se si parla di Struts 1, global-exceptions
sono ExceptionHandlers
che si occupa di alcune Exception
per tutte le azioni, quindi non è necessario dichiararlo per azione ed evitare la duplicazione.
Global-forwards
hanno la stessa idea. Se hai in avanti con lo stesso percorso in diverse azioni, puoi evitare la duplicazione dichiarando solo uno global-forward
e tutte le azioni possono usarlo. Con global-forwards
puoi anche evitare URL hard-coded nei tuoi jsps, ad esempio, potresti dichiarare un forward globale come <forward name="loginLink" path="/login" />
e poi nel tuo jsp <html:link forward="loginLink">Login</html:link>
.
- 1. Gestore di eccezioni globali WPF
- 2. . Gestore di eccezioni globali .NET nell'applicazione console
- 3. Osservare globali non globali
- 4. Perché abbiamo bisogno fibre
- 5. perché abbiamo bisogno di ClassMethods e InstanceMethods?
- 6. perché abbiamo bisogno di cudaDeviceSynchronize(); nei kernel con device-printf?
- 7. perché abbiamo bisogno di np.squeeze()?
- 8. Gestire le eccezioni globali in VB
- 9. Eccezioni globali di salvataggio e registrazione in Sinatra
- 10. Perché abbiamo bisogno di WCF
- 11. Perché abbiamo bisogno di Control.Lens.Reified?
- 12. Variabili globali nei pacchetti in R
- 13. Variabili globali e MPI
- 14. Marshalling: cos'è e perché ne abbiamo bisogno?
- 15. Perché i globali sono cattivi?
- 16. Operatori globali e polimorfismo
- 17. globali Swift e funzioni globali in Objective C
- 18. Gestore di eccezioni globali per i servizi di Windows?
- 19. Perché abbiamo bisogno di JWT quando abbiamo sessioni client?
- 20. Perché abbiamo bisogno di Anaconda quando abbiamo pip?
- 21. Variabili globali e lettore monade
- 22. perché abbiamo bisogno di Hadoop per Hypertable
- 23. Perché abbiamo bisogno di questo speciale operatore ===?
- 24. Scorciatoie globali di cacao?
- 25. Perché abbiamo bisogno di scalaz.stream su iteratee?
- 26. Perché abbiamo bisogno di endianness qui?
- 27. Perché abbiamo bisogno di un tag fieldset?
- 28. Gestore di eccezioni globali non interrogate -> email per me?
- 29. Perché abbiamo bisogno di altre lingue JVM
- 30. Dichiarazione e utilizzo di array globali C#
Grazie uomo spiegazione molto buona, ma l'ho trovato un po 'lungo. – user1900662
grazie per la spiegazione, – Apache
grazie per la spiegazione, diciamo se c'è la pagina di errore HTTP 500 e necessario inoltrare alla pagina di accesso, action-mapping>, come si può fare, grazie –
Apache