【问题标题】:<c:if> test="" in jsfjsf 中的 <c:if> test=""
【发布时间】:2011-11-08 03:25:15
【问题描述】:

我正在使用 primefaces 和 jstl 循环数据表。我在列的支持 bean 中有一个列表。

private List<String> visableCols;
public initCols(){
    visableCols.add("andOr");
    visableCols.add("operator");
    ......
}
// getter & setter

在 xhtml 页面中。

<p:comlumns var="col" value="#{theBean.visableCols}" >
<c:if test="#{col == 'andOr'}">
    <!-- do sth here -->
</c:if>
</p:comumns>

但我发现 c:if 总是错误的。我尝试打印出 #{col} 并与“andOr”进行比较,它们的值相同。

【问题讨论】:

  • 不要将 JSTL 标签(如&lt;c:if&gt;)与 JSF 标签混合。您想要达到的最终结果是什么?
  • 我尝试改用 ,但还是不行。
  • 嗨,马特。我正在尝试实现一个数据表,其中包括一些不同的列。例如,当列 equles 'andOr' 时,会有一个 selectOneMenu。
  • @machcm.sz: 可能尽量避免使用 jstl,并利用 动态渲染或不渲染某些部分?

标签: jsf-2 jstl primefaces


【解决方案1】:

如果您使用 PrimeFaces 并且想要动态添加和删除列,PrimeFaces 提供了一种特定的方式来执行此操作。您不需要任何 JSTL 标记。有关如何做到这一点的一个很好的例子,只需看看他们的showcase example。它相当复杂但相当干净。

注意:您使用 p:columns 标签而不是 p:column

【讨论】:

  • @AlanObject 链接已损坏。请检查
猜你喜欢
  • 1970-01-01
  • 2015-04-05
  • 1970-01-01
  • 2011-06-01
  • 2010-12-21
  • 2017-07-18
  • 1970-01-01
  • 2014-11-15
相关资源
最近更新 更多