Qual è la necessità di serializzare le classi Action? Quando e come succede, se non del tutto.Perché ActionSupport implementa Serializable
risposta
non so perché debba essere così. ma le action class devono estendere ActionSupport. e in base a http://struts.apache.org/2.0.6/struts2-core/apidocs/com/opensymphony/xwork2/ActionSupport.html, ActionSupport implementa Serializable. così la risposta alla domanda quando, succede sempre: p
Non è vero, le azioni non devono estendere ActionSupport. Possono implementare l'interfaccia Action o semplicemente aderire alla convenzione. –
Penso che stia chiedendo di più sulla falsariga di "Il framework di Struts realizza mai Serialize ActionSupport", piuttosto che "Quante volte le classi di Struts Action implementano Serializable". –
Questa domanda potrebbe non essere più rilevante ma ho pensato che questo potrebbe aiutare.
Da Sun developer network:
Object serializzazione è il processo di salvataggio stato di un oggetto ad una sequenza di byte , così come il processo di ricostruzione quei byte in un oggetto dal vivo in un momento futuro.
Quindi perché si consiglia di serializzare i propri oggetti? Questo è il momento in cui devi mantenere il loro stato così puoi usarli più tardi o in un'altra JVM. La JVM potrebbe trovarsi sulla stessa macchina o in rete su un'altra macchina. Penso che sia lo stesso per la classe ActionSupport
. Se estendi ActionSupport
avrai la possibilità di serializzare la tua azione e inviarla tramite la rete per essere utilizzata in un'altra JVM.
Per quanto posso dire, non è necessario essere serializzabile, ed è stato un errore rendere ActionSupport implementare tale interfaccia.
qui è la migliore ragione ho trovato su questo argomento (tratto da here):
E 'molto comune in framework web per utilizzare gli oggetti Serializable per una coppia o motivi, come l'essere in grado di preservare stato in un riavvio del server e per la spedizione di oggetti in un cluster.
Con ciò detto, (IMHO) credo che sia stato un errore di progettazione avere ActionSupport implement serializzabile. Non credo che l'uno o l'altro di si applichi realmente agli oggetti Action poiché sono di breve durata. La scelta di rendere Azioni serializzabili avrebbe dovuto essere lasciata allo allo sviluppatore e non "forzata" dal framework.
Sarei interessato alla risposta. Probabilmente è meglio chiedere agli sviluppatori di struts2 di usare la mailing list. La mia ipotesi sarebbe che ci sono più tipi di output, alcuni dei quali trattano l'azione come il livello di vista come si trova quando si utilizza il plugin struts2-json. Se ottieni una risposta definitiva e la pubblichi, la sposterò e potresti essere in grado di ottenere il badge "autodidatta". – Quaternion