Пользовательский тег, который создает элемент выбора из enum - PullRequest
3 голосов
/ 02 ноября 2010

Как сделать тег, который делает поле выбора из перечисления Java для Play!фреймворк?Я пытался понять, как это делает модуль CRUD, но слишком много уровней абстракции, которые я пока не совсем понимаю.

Ответы [ 2 ]

4 голосов
/ 03 ноября 2010

Если вы полностью квалифицируете Enum в теге, вам не нужно помещать его в RenderArgs.

Ваш тег StatusSelect.html:

<select name="status">
    #{list com.something.StatusEnum.values(), as:'status'}
        <option>${status}</option>
    #{/list}
</select>

И вызывается со страницы:

#{StatusSelect /}

Затем вы можете добавить к нему сложность, указав атрибут "name" и другие функции, например:

<select id="${_id}" name="${_name}" class="${_class}">
    #{list com.something.StatusEnum.values(), as:'status'}
        <option>${status}</option>
    #{/list}
</select>

И новый тег страницы:

#{StatusSelect id:'status1', name:'status', class:'bold'/}
0 голосов
/ 04 ноября 2010

Вы также можете попытаться использовать подход Дамо с именем перечисления, а затем использовать тег {{select} фреймворка.

...