【发布时间】:2016-03-10 12:58:31
【问题描述】:
在我的 JSF 2.2 Primefaces 5.3 Web 应用程序中,我希望用户访问具有预定义过滤器状态的视图(例如,取决于他的用户帐户)
为了实现这一点,我尝试以编程方式将过滤器应用于数据表(即来自支持 bean)。
在我的 backing bean 中我尝试过:
@ManagedBean
@ViewScoped
public class MyCointroller
private DataTable dataTable = new DataTable();
@PostConstruct
public void init() {
Map<String, Object> myFilter = new HashMap<String, Object>();
myFilter.put("userName", "Peter");
dataTable.setFilters(myFilter);
}
我在 facelet 中对 dataTable 使用“绑定”。
<p:dataTable var=user"
value="#{myController.users}"
binding="#{myController.dataTable}">
<p:column headerText="Bezeichnung"
filterMatchMode="contains" filterBy="#{user.name}">
<h:outputText value="#{user.name}" />
</p:column>
绑定本身有效,我可以从我的支持 bean 中读取应用的过滤器,但我无法将 myFilter 应用到 dataTable(视图中的表没有被过滤)。
【问题讨论】:
-
myController.user是什么类型? -
抱歉,打错字了,应该是“用户”。 myController.users 是一个 ArrayList
标签: jsf primefaces