【问题标题】:Make element visible on ajax in JSF2使元素在 JSF2 中的 ajax 上可见
【发布时间】:2010-05-08 08:21:48
【问题描述】:

我的页面中有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 请求之后仍然不可见。

我怎样才能让它最初隐藏,并在填充数据后显示?

【问题讨论】:

    标签: ajax jsf-2


    【解决方案1】:

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

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

    【讨论】:

    • 这几乎可以工作:) 问题是当它最初没有呈现时,ajax 响应想要更新它,但找不到它。解决方案是将它包装到其他东西中,然后更新它。谢谢!
    【解决方案2】:

    我认为如果rendered=false 则没有创建该元素,因此 AJAX 请求找不到它。

    【讨论】:

      猜你喜欢
      • 2013-08-31
      • 2011-12-31
      • 1970-01-01
      • 1970-01-01
      • 2013-07-06
      • 2016-07-18
      • 2014-04-18
      • 1970-01-01
      相关资源
      最近更新 更多