Benutzerdefinierte Tag, das von ENUM-select-Element erzeugt
-
28-09-2019 - |
Frage
Wie kann ich einen Tag zu machen, die aus einer Java-Enumeration für die Wiedergabe eines Auswahlfeld macht! Rahmen? Ich habe versucht, zu sehen, wie der CRUD-Modul es tut, aber es gibt zu viele Abstraktionsschichten, dass ich nicht wirklich verstehen, noch.
Lösung
Wenn Sie in vollem Umfang die Enum in dem Tag qualifizieren, dann müssen Sie es nicht in RenderArgs setzen.
Ihr Tag StatusSelect.html:
<select name="status">
#{list com.something.StatusEnum.values(), as:'status'}
<option>${status}</option>
#{/list}
</select>
Und von der Seite mit dem Namen:
#{StatusSelect /}
Sie könnten dann die Komplexität hinzufügen, indem Sie einen „Namen“ -Attribut und andere Funktionen wie zB die Angabe:
<select id="${_id}" name="${_name}" class="${_class}">
#{list com.something.StatusEnum.values(), as:'status'}
<option>${status}</option>
#{/list}
</select>
Und die neue Seite-Tag:
#{StatusSelect id:'status1', name:'status', class:'bold'/}
Andere Tipps
Sie können auch Damo Ansatz mit dem Aufzählung Namen zu verwenden versuchen und dann die # verwenden {} wählt -tag des Frameworks.