我想用SelectOneRadio做一些瘋狂的分組,所以我決定創建自己的自定義組件,允許我指定<input>
標籤的name
屬性(如您所知,同樣的name
表示單選按鈕位於同一組中) 。渲染是正確的,所以我有一個<input>
是用來渲染這樣爲什麼h:selectOneRadio沒有「name」屬性?
<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">
這將使得在<input>
標籤name=foo
。然後EL綁定停止工作。 selectedFood
是null
。
更有趣的是,如果我把這個
<xxx:selectOneRadio id="test1" value="#{myBean.selectedFood}" groupId="myForm:test1">
這myForm:test1
是正確的客戶端ID,則EL再結合工作,所以它看起來並不像它是我的代碼,使綁定停止工作。 JSF是否需要將input
標記的name
屬性添加到客戶端ID?
我越想它,這似乎不像一個好的設計sighhh回到方形1 – 2012-07-10 14:37:14