0

多くの入力フィールドを持つ「大きな」フォームを作成しています。簡単にするために、最初の列にラベルが含まれ、2番目の列に入力フィールドが含まれる2つの列を持つテーブルを作成するためのコードをカプセル化するfaceletコンポーネントを作成しようとしました。

コンポーネントを含むタグは次のようになります。

<ft:textInput cid="city" label="City:" 
       value="#{registrationBean.deal.city> }" />

textInput コンポーネントのソース (簡略化):

  <param name="inputField" value="#{value}" />
    <ice:inputText id="#{cid}" value="#{inputField}"                             
                required="true">        
    </ice:inputText>

フォームは静かに見えますが、ユーザーの値が Bean に書き戻されないという問題があります。その理由は、 #{registrationBean.deal.city} が一度だけ評価され、フォームが送信されたときではないためだと思います。ここでの推論には重大な誤りがあると思いますが、それに関する適切なドキュメントが見つかりません。

ヒントをありがとう。

4

2 に答える 2

0

f:param タグはあまり使用しないので、なぜそうなのかはわかりませんが、

<ice:inputText id="#{cid}" value="#{value}" required="true"/>

直接。それが私がしていることであり、うまく機能しています。

于 2010-02-08T14:16:54.310 に答える
0

また、独自の html テーブルを定義する代わりに、panelGrid や panelGroup タグを使用することを検討することもできます。これは、より良いメンテナンスに役立ちます。

于 2010-02-11T23:03:45.500 に答える