ここでも私はJSFの問題を抱えていますが、今回はrichfaces(4.2.1 final、JSF 2)の詳細です。私はeyTended DataTableを持っていて、新しいアイテムを追加したい。 Journey
-objectsのリストはありません。すべての属性にはgetterとsetterがあります。テーブルがうまく作成されます(リストにはすでにいくつかの項目があります)。 、メソッドが呼び出されたproperply editorBeanがあるポップアップパネルで新しいデータオブジェクトを作成すると失敗する
<a4j:commandButton ajax="true" value="Neue Fahrt hinzufügen"
actionListener="'{editorBean.prepareCreateJourney}" render="createJourneyPopupForm"
oncomplete="#{rich:component('createJourneyPopup')}.show()" />
が SessionScopedとcurrentJourney
と呼ばれるJourney
の新しいオブジェクトを作成します。そして今、私は「新しい項目を追加」ボタンをクリックしてください。ポップアップが立ち上がると、私はいくつかの入力を挿入できるようにする必要があります:私はボタンをクリックすると
<rich:popupPanel id="createJourneyPopup" modal="true">
<h:panelGrid id="createJourneyPopupForm" columns="3">
<h:outputLabel for="currentId" value="ID" />
<h:inputText id="currentId"
value="#{editorBean.currentJourney.journeyNumber}" />
<rich:message for="currentId" />
[...and more...]
</h:panelGrid>
<a4j:commandButton value="Save"
execute="currentId currentTrainType operator">
<f:ajax event="click" listener="#{editorBean.doCreateJourney}"
render=":vmsEditorForm:resultTable" />
<rich:componentControl target="createJourneyPopup" operation="hide" />
</a4j:commandButton>
<a4j:commandButton value="Abbrechen"
onclick="#{rich:component('createJourneyPopup')}.hide();" />
</rich:popupPanel>
、方法doCreateJourney
が呼び出さが、currentJourney
が空です。作成後のデフォルトのJourney
オブジェクトです。 setterは呼び出されていませんでした。入力フィールドにはヒントがあります。
名前を2回確認しましたが、必要なオブジェクトのゲッターとセッターがあります。私は範囲を変更しようとしましたが、効果はありません。オブジェクトは同じです。準備メソッドではJourney(id=151)
を作成し、保存メソッドではまだJourney(id=151)
です。
ここでは何が起こっていますか?データオブジェクトを作成したり編集したりするためのダイアログを作るのは難しいことではありません。聞いていただきありがとうございました。
さて、私は同様の編集ダイアログのためにここに見えた:http://showcase.richfaces.org/richfaces/component-sample.jsf?demo=dataTable&sample=dataTableEdit そして、 popupPanelは同じにあります。しかし、あなたが正しいです、それは2つのフォームを作成し、最初のの外にダイアログを含めることは正しいです。そして、これは動作しています!ありがとうございました! –
Felix