Создать commandButton в JSF, используя цикл? - PullRequest
0 голосов
/ 07 июня 2011

для примера в массиве есть

Edit -> # {testBean.edit}
Delete -> # {testBean.delete}
Copy -> # {testBean.copy}

возможно ли создать командную кнопку с помощью цикла или что-то вроде

for(i=0;i<=array.length;i++)<br>
{
print '<h:commandbutton value="#{testBean.array.name}" action="#{testBean.array.action}" />'
}

, поэтому вывод будет похож на

<h:commandbutton value="Edit" action="#{testBean.edit}" />
<h:commandbutton value="Delete" action="#{testBean.delete}" />
<h:commandbutton value="Copy" action="#{testBean.copy}" />

Ответы [ 2 ]

1 голос
/ 07 июня 2011

Это возможно только в том случае, если вы измените коллекцию (карту?) Так, чтобы она выглядела как

Edit --> edit
Delete --> delete
Copy --> copy

Например

Map<String, String> buttons = new LinkedHashMap<String, String>();
buttons.put("Edit", "edit");
buttons.put("Delete", "delete");
buttons.put("Copy", "copy");

Затем вы можете зациклить ее следующим образом:

<ui:repeat value="#{bean.buttons}" var="button">
    <h:commandButton value="#{button.key}" action="#{bean[button.value]}" />
</ui:repeat>

В качестве альтернативы вы можете создавать компоненты программно со стороны компонента.

0 голосов
/ 07 июня 2011

попробовал Facelet повторить тег http://www.roseindia.net/jsf/repeat.shtml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...