tag personalizzato che crea selezionare elemento da enum
-
28-09-2019 - |
Domanda
Come posso fare un tag che rende un campo di selezione di un enum Java per il Play! struttura? Ho cercato di vedere come il modulo CRUD fa, ma ci sono troppi livelli di astrazione che io non capisco ancora.
Soluzione
Se si qualificano pienamente l'Enum nel tag allora non c'è bisogno di metterlo in RenderArgs.
Il tag StatusSelect.html:
<select name="status">
#{list com.something.StatusEnum.values(), as:'status'}
<option>${status}</option>
#{/list}
</select>
E chiamato dalla pagina:
#{StatusSelect /}
Si potrebbe quindi aggiungere complessità ad esso specificando un attributo "nome" e altre caratteristiche ad esempio:
<select id="${_id}" name="${_name}" class="${_class}">
#{list com.something.StatusEnum.values(), as:'status'}
<option>${status}</option>
#{/list}
</select>
E il nuovo tag pagina:
#{StatusSelect id:'status1', name:'status', class:'bold'/}
Altri suggerimenti
Si può anche provare a utilizzare l'approccio di Damo con il nome enumerazioni e quindi utilizzare il # {} selezionare -tag del quadro.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow