Struts 2 - Accesso diverse proprietà sul ValueStack condividono lo stesso nome
-
05-10-2019 - |
Domanda
Struts 2 risolverà tutti i nomi di proprietà durante il rendering vista contro l'oggetto in alto nella ValueStack prima. Ma come si può accedere a una proprietà con lo stesso nome sull'oggetto abbassare sullo stack?
Esempio:
dire Let Ho una classe di azione chiamato myAction e ha una proprietà un LogDate. Nella vista renderizzata dopo viene richiamato questa azione, c'è questo:
<s:iterator value="users" status="itStatus"> <s:property value="logDate"/> </s:iterator>
Ora immaginate un oggetto utente ha anche una proprietà LogDate. Durante l'iterazione, Struts 2 sarà sempre spingere l'oggetto utente corrente alla parte superiore della ValueStack risolvere in modo efficace tutti i nomi di proprietà contro di essa. Ma, che cosa se volevo LogDate accesso dall'azione? Qual è il modo corretto di fare questo?
Soluzione
È possibile utilizzare un indice di guardare una substack. Per esempio: [0] .logDate sarebbe iniziare la ricerca alla fermata della pila e trovare il LogDate sull'oggetto utente. [1] .logDate sarebbe avviare il livello di ricerca uno più profondo e trovare la LogDate sulla classe di azione. Questo pagina OGNL (vedere la sezione destra sopra la statica Accesso proprietà intestazione) ha qualche dettaglio ed ecco un'altra spiegazione .