2012-05-03 10 views
1

私のフォームを送信するときに、JSFはそれを私のCDIマネージドBean内のオブジェクトのIDとして設定するように、隠しフィールドの値を設定する方法を知りました。inputHiddenバッキングBeanのロングidフィールドへのバインド

私のbeanは "discussionManager"と呼ばれ、その中にオブジェクトである 'discussion'と呼ばれるエンティティであるため、Long型のIDを持ちます。

私はIDを必要とするので、私はそれを見て、それを使ってやることができます。しかし、JSFは数字の隠しフィールドを好きではないようです。しかし、文字列フィールドでも問題ありません。コンバーターやバインディング属性とは関係がありますが、構文を取得することはできません。これが私が試しているのは、もっとも簡単な形です。

<h:inputHidden id="discussionId" value="#{viewDiscussionBean.discussion.id}"/> 

私は多くのバリエーションを試しました。誰かが正しい方向に私を向けることができますか?

ありがとうございました

答えて

1

実際にコンバータを明示的に指定する必要があります。 JSF組み込みLongConverterが適しています。

<h:inputHidden id="discussionId" value="#{viewDiscussionBean.discussion.id}" converter="javax.faces.Long" /> 
+0

私はjavax.faces.convert.LongConverterを試していました。私はあなたのバージョンを別の投稿で見て、その上にドキュメントを見つけることができなかったので、それが間違っていると仮定してパッケージを見て、それで私が思いついたものを見ました。私はそれを試してみるでしょう(私のサーバーがついに生き返り、それをテストしたときに)ポストバックします。 Thanks – Richard

+0

'LongConverter' Javadocでは' CONVERTER_ID'定数をチェックします。それは正確にコンバーターID値です:http://docs.oracle.com/javaee/6/api/constant-values.html#javax.faces.convert.LongConverter.CONVERTER_ID – BalusC

+0

ありがとう、それは本当に知っている便利です。私はJSFで吸う、私は笑を試しています:) – Richard

関連する問題