1

隠しフィールドの値を設定して、フォームを送信するときに、JSF が CDI 管理の Bean のオブジェクトの ID として設定する方法を考えてみてください。

私の Bean は「discussionManager」と呼ばれ、その中に「discussion」というオブジェクトがあります。これはエンティティであり、したがって ID が Long 型です。

ID が必要なので、ID を調べて操作を行うことができます。しかし、JSF は数値隠しフィールドを好まないようです。ただし、文字列フィールドでは問題ありません。確かに、コンバーターまたはバインディング属性と関係がありますが、構文を取得できません。これは私が最も単純な形で試しているものです。

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

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

ありがとう

4

1 に答える 1

1

実際、コンバーターを明示的に指定する必要があります。JSFビルトインLongConverterが適しています。

<h:inputHidden id="discussionId" value="#{viewDiscussionBean.discussion.id}" converter="javax.faces.Long" />
于 2012-05-03T21:18:07.287 に答える