在JSF2中的ajax上创建元素

时间:2010-05-08 08:21:48

标签: ajax jsf-2

我的页面中有dataTable。最初我希望它被隐藏,并在通过AJAX请求获取数据后显示。我知道如何获取数据并放入表中,但我不知道如果它被隐藏,如何显示表。这是代码:

<h:commandButton value="aa">
  <f:ajax execute="from to validTo" render="transportOffers"/>
</h:commandButton>
<p:dataTable id="transportOffers" value="${cargoOffer.transportsForCargo}" var="transport">
  <p:column>
    <h:outputText value="${transport.company}"/>
  </p:column>
</p:dataTable>

表最初是可见的,即使它是空的。如果我设置rendered="false"它是不可见的,并且在AJAX请求之后也保持不可见。

如何最初隐藏它,并在填充数据后显示?

2 个答案:

答案 0 :(得分:2)

您可以尝试根据列表的大小有条件地呈现dataTable:

rendered = "#{cargoOffer.transportsForCargo.size() != 0}"

答案 1 :(得分:1)

我认为如果rendered=false那么元素没有被创建,那么AJAX请求找不到它。