我目前正在构建一个基于Primefaces 3.5的xhtml页面(我无法更新......这次不幸运!)。
在这个页面中,我需要动态构建不同的数据表,所以我认为实现我的任务的独特方式是通过绑定方法。
所以我做了:
<p:dataTable id="bindQTable" var="item"
value="#{bindingHtmlTableClass.items}"
binding="#{bindingHtmlTableClass.dataTable}">
<p:column headerText="Name Column">
<h:outputText value="#{item}" />
</p:column>
<p:column>
<p:commandButton value="remove"
action="#{bindingHtmlTableClass.remove}" />
</p:column>
</p:dataTable>
和bean:
@ManagedBean(name="bindingHtmlTableClass")
@RequestScoped
public class BindingHtmlTableClass implements Serializable{
private List<String> items;
private DataTable dataTable;
@PostConstruct
private void buildUp(){
System.out.println("postconstruct!");
items = new ArrayList<String>();
items.add("X");
items.add("Y");
}
...getters,setters...
}
现在的问题是我需要更新表格,特别是在民意调查期后,我需要更新其中的值。
但我在一个请求范围内,因为绑定而无法使用View Scope。 有没有更好的方法来实现这样的事情?
编辑4 BalusC:为什么我需要绑定数据表?因为我需要显示一个数据表链接到与RabbitMQ的不同安装的不同连接的系列,这不是已知的数字。我的老板让我把每个RabbitMQ服务器放在一个不同的DataTable中,其中每个队列都在不同的行中表示。每列需要显示实际的队列大小以及一个或多个按钮来管理队列(清除,删除......)。
谢谢!