2012-05-03 15 views
8

In puntoni 2 Voglio usare s: selezionare popolato da una mappa.
La mia mappa ha valori come "key1", "value1" "key2", "valore2"Struts 2 - s: selezionare utilizzando la mappa

Le chiavi sono quello che voglio essere pubblicato (che sono), ma diplays valori. Non voglio mostrare i valori ma il valore restituito forma un metodo che uso in altri (come s: text) getTranslation ("value1") e mostro quel valore.

Se provo

<s:select ... list="myMap" listValue="getTranslation(myMap)"> 

Non mostra nulla, solo scatole vuote da selezionare. Come posso ottenere l'id dell'iterazione per popolare per selezionare in modo da usare qualcosa come:

<s:select ... list="myMap" listValue="getTranslation(myMap.get( how do I get this id? ))"> 

o qualcosa di simile?

+1

è possibile utilizzare '' listKey' e proprietà listValue' di tag select . Leggi http://struts.apache.org/2.3.1/docs/select. html –

+0

Come ho detto esplicitamente nella domanda, utilizzo le proprietà listKey e listValue, ma in listValue non voglio mostrare il valore della mappa, ma il valore restituito da un metodo quando passo come parametro il valore della mappa . – Panos

risposta

14

Rendering di

<s:select list="myMap" /> 

è uguale a

<s:select list="myMap" listKey="key" listValue="value" /> 

quindi provare il seguente

<s:select list="myMap" listValue="getTranslation(value)" /> 
+0

L'ho trovato prima di vedere questa risposta e sì confermo che questa è la soluzione! Grazie! Panos

Problemi correlati