0

Webflow には、サービス レイヤーからロードする 4 つのリストがあります。それらは次のようになります。

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

私の JSF/Primefaces UI には、次のようなものがあります。

<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」ボタンを押すと、リスト内のエントリがすべて消えます。Webflow が 1 つのエントリをリストに正しく追加していることを確認しました。

Webflow「addEntry」-スニペット:

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

すべてが同じビューステートで発生し、アプリケーション全体がLiferayのポートレットで実行されます。

何が問題なのかわかりません。手伝っていただけませんか?

私は使用しています:

  • JSF: 1.2
  • プライムフェイス: 1.1
  • ウェブフロー: 2.3
  • ポートレット: 2.0 --> JSR286
  • ライフレイ: 6.0.6
4

1 に答える 1

0

私はついに解決策を見つけました。

uiPostalAddressesへのポインターを操作しましたが、パーティーのリストをクリアしてパーティーにAllを追加すると、リストは空になります。

それが私のせいでした;-)

于 2011-05-10T08:02:10.647 に答える