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.

È stato utile?

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
scroll top