私はjsf 2.0を初めて使用するため、プライムフェイスのデータグリッドとラジオボタンをグループ化する重大な問題に直面しています。私は JSF 2.0-Primefaces 3.3、Java 1.6 を使用しており、Windows オペレーティング システムの Tomcat サーバーでアプリケーションを実行しています。
問題は、データ グリッドとラジオ ボタンのグループ化です。次の段落では、サンプル コードについて説明します。
@ManagedBean(name="quickBill")
@ViewScoped
public class QuickBill extends BaseManagedBean implements Serializable {
private List<String[]> insurerIDs=null;
@PostConstruct
public void init(){
loadInsurer();
}
private void loadInsurer(){
logger.info("Entered Load Insurer");
insurerIDs = new ArrayList<String[]>();
if (null != insurerList) {
insurerIDs.add(new String[] {"InsurerID1","Insurer_Name1") });
insurerIDs.add(new String[] {"InsurerID2","Insurer_Name2") });
insurerIDs.add(new String[] {"InsurerID3","Insurer_Name3") });
insurerIDs.add(new String[] {"InsurerID4","Insurer_Name4") });
}
}
public List<String[]> getinsurerIDs() {
return insurerIDs;
}
}
jsf コードは次のとおりです。
<p:dataGrid var="quickBillVar" value="#{quickBill.insurerIDs}" columns="4" >
<p:column selectionMode="single">
<p:selectOneRadio id="options" value="#{quickBill.selectedOption}">
<f:selectItem itemLabel="#{quickBillVar[1]}" itemValue="#{quickBillVar[1]}"/>
</p:selectOneRadio>
<p:commandLink id="insurerid" title="Isurer">
<p:graphicImage value="../../images/insurers1/#{quickBillVar[0]}.jpg"/>
</p:commandLink>
</p:column>
</p:dataGrid>
上記のコードを実行するとラジオ ボタンが表示され、ユーザーは複数のラジオ ボタンを同時に選択できます。ただし、要件は、ユーザーが一度に複数のボタンを選択できるようにするのではなく、ユーザーが 1 つのボタンのみを選択できるように制限することです。また、 selectionMode="single" を使用して期待される出力を生成しましたが、あまり役に立ちませんでした。
これについて親切に助けていただくか、この問題を克服する例を教えてください。