如何覆盖PrimeFaces DataTable以支持自定义筛选器

如何覆盖PrimeFaces DataTable以支持自定义筛选器,primefaces,jsf-2,datatable,Primefaces,Jsf 2,Datatable,我想覆盖Primefaces默认DataTableRenderer以支持自定义过滤器,按日期、日期范围、选择菜单。。。只需向列添加属性 e、 g要使用日期过滤器,语法将为: <m:dataTable value = ""> <m:column filterType = "date"> </m:column> </m:dataTable> 仅仅为了这个目的创建自己的facelet标记不是更容易吗?我们已经覆盖了p:dataTable和p:

我想覆盖Primefaces默认DataTableRenderer以支持自定义过滤器,按日期、日期范围、选择菜单。。。只需向列添加属性

e、 g要使用日期过滤器,语法将为:

<m:dataTable value = "">
  <m:column filterType = "date">

  </m:column>
</m:dataTable>

仅仅为了这个目的创建自己的facelet标记不是更容易吗?我们已经覆盖了p:dataTable和p:column以添加更多函数,因此使用新的filterType属性会更方便。但是你能解释一下facelet标签吗?例如,对于一个“selectCheckBox过滤器”,我写了一个小facelet标签:它远不是完美的,但它符合我的需要,也许对你来说这是一个有趣的起点。谢谢,我知道这一点。但是,由于过滤器在整个系统中被大量重用,这就是为什么我想将其作为的属性。仅为此目的创建自己的facelet标记不是更容易吗?我们已经覆盖了p:dataTable和p:column以添加更多函数,因此拥有新的filterType属性会更方便。但是你能解释一下facelet标签吗?例如,对于一个“selectCheckBox过滤器”,我写了一个小facelet标签:它远不是完美的,但它符合我的需要,也许对你来说这是一个有趣的起点。谢谢,我知道这一点。但是由于过滤器在整个系统中被大量重用,这就是为什么我想将其作为的属性。
if (StringUtils.equals(filterType, "date")) {

    final Calendar inputDate = new Calendar();
    inputDate.setValue(column.getFilterValue());
    inputDate.encodeAll(context);
}