Webflow,JSF,Primefaces:为什么这个列表是空的?

时间:2011-05-05 08:15:39

标签: jsf portlet primefaces spring-webflow jsr286

我的网页流程中有四个列表,我从服务层加载。 它们看起来像这样:

<evaluate expression="partyService.getPostalAddresses()" result="viewScope.uiPostalAddresses"
            result-type="java.util.ArrayList" />

在我的JSF / Primefaces用户界面中,我有这个:

<p:dataTable id="partyAddressTable" widgetVar="partyAddressTable"
        var="address" value="#{viewScope.uiPostalAddresses}" style="width:100%;"
        rows="#{msg.parties_address_table_rows}" styleClass="partyAddressTable"
        paginator="#{msg.parties_address_table_paginator}"
        paginatorPosition="#{msg.parties_address_table_paginatorPosition}"
        paginatorTemplate="#{msg.parties_address_table_paginatorTemplate}"
        lazy="#{msg.parties_address_table_lazy}" selectionMode="single"
        selection="#{viewScope.selectedItem}"
        scrollable="#{msg.parties_address_table_scrollable}">
    [...]
</p:dataTable>

当我打开我的页面时,webflow加载列表并且JSF / Primefaces正确显示它。 然后,如果我按下“addEntry”-Button,列表中的条目全部消失。我看到webflow正在向列表中正确添加一个条目。

Webflow“addEntry”-Snippet:

<transition on="addPostal"> 
    <evaluate expression="uiPostalAddresses.add(personService.getEmptyPostalAddress())" />
</transition>

这一切都发生在同一个视图状态,整个应用程序在Liferay上的 Portlet 中运行。

我不知道问题可能是什么。你能帮我吗?

我正在使用:

  • JSF:1.2
  • Primefaces:1.1
  • Webflow:2.3
  • Portlet:2.0 - &gt; JSR286
  • Liferay的: 6.0.6

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。

我处理了一个指向uiPostalAddresses的指针,如果我清除聚会上的列表并将addAll清除为聚会,则该列表为空。

这是我的错; - )