使用循环在JSF中创建commandButton?

时间:2011-06-07 06:28:17

标签: java jsf loops

对于数组中的示例,有

编辑 - > #{} testBean.edit
删除 - > #{} testBean.delete
复制 - > #{testBean.copy}

是否可以使用循环或其他东西

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

所以输出shld就像

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

2 个答案:

答案 0 :(得分:1)

只有将集合(地图?)更改为

时,才有可能
Edit --> edit
Delete --> delete
Copy --> copy

E.g。

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>

作为替代方案,您可以在bean端以编程方式创建组件。

答案 1 :(得分:0)

尝试过Facelet重复标记 http://www.roseindia.net/jsf/repeat.shtml