【发布时间】:2014-08-19 10:34:18
【问题描述】:
我正在使用 JSF 2 和 PrimeFaces 5 我有一个数据表,其单元格需要根据下拉菜单中的选择进行更新。具体来说,我想根据我的选择更改列表(dataTable 值)(基本上这意味着对于每个选项 dataTable 将显示不同的记录)?
可以吗?
【问题讨论】:
标签: jsf-2 primefaces
我正在使用 JSF 2 和 PrimeFaces 5 我有一个数据表,其单元格需要根据下拉菜单中的选择进行更新。具体来说,我想根据我的选择更改列表(dataTable 值)(基本上这意味着对于每个选项 dataTable 将显示不同的记录)?
可以吗?
【问题讨论】:
标签: jsf-2 primefaces
是的,只需相应地更改模型即可。
例如这个:
<p:selectOneMenu value="#{bean.selectedItem}">
<f:selectItems value="#{bean.availableItems}" />
<p:ajax listener="#{bean.changeDataModel}" update="table" />
</p:selectOneMenu>
<p:dataTable id="table" value="#{bean.dataModel}">
...
</p:dataTable>
在@ViewScoped bean 中:
public void changeDataModel() {
dataModel = someService.load(selectedItem);
}
【讨论】:
@ViewScoped,而不是 @RequestScoped。如果您仍然有问题,只需按右上角的[] 按钮。这个问题与所提出的问题无关。而且由于您是新来的,请不要忘记在答案最有助于解决和理解具体问题时将其标记为已接受。另见How does accepting an answer work?
server.log 中,与异常所指示的完全相同。