SelectOneRadioを使用してクレイジーなグループ化を行いたいのでname
、タグの属性を指定できる独自のカスタムコンポーネントを作成することにしました<input>
(ご存知のとおり、name
ラジオボタンが同じグループにあることを意味します)。レンダラーは正しいので、私は<input>
このようにレンダリングするために使用されたものを持っています
<input name="myForm:test1" id="myForm:test1:0" value="0" type="radio">
今このようにレンダリングします
<input name="foo" id="myForm:test1:0" value="0" type="radio">
ただし、フォームを送信するとELが機能しなくなります(h:commandButtonとp:commandButtonについても同じです)。だから私がこれを持っているなら
<xxx:selectOneRadio id="test1" value="#{myBean.selectedFood}">
次にEL作業をselectedFood
行い、修正値を出力しますが、入れたら
<xxx:selectOneRadio id="test1" value="#{myBean.selectedFood}" groupId="foo">
これによりname=foo
、<input>
タグが作成されます。その後、ELバインディングは機能を停止します。selectedFood
ですnull
。
もっとおもしろいことに、これを入れたら
<xxx:selectOneRadio id="test1" value="#{myBean.selectedFood}" groupId="myForm:test1">
これmyForm:test1
は正しいクライアントIDであり、ELバインディングが再び機能するため、バインディングが機能しなくなるのは私のコードではないようです。JSFは、クライアントIDに対するタグのname
属性を必要としますか?input