Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 使用primefaces 3.3和jsf 2.0对数据网格内的单选按钮进行分组_Jsf 2 - Fatal编程技术网

Jsf 2 使用primefaces 3.3和jsf 2.0对数据网格内的单选按钮进行分组

Jsf 2 使用primefaces 3.3和jsf 2.0对数据网格内的单选按钮进行分组,jsf-2,Jsf 2,我是JSF2.0新手,因此我面临着一个严重的问题:将prime faces数据网格和单选按钮分组。我正在使用JSF2.0-PrimeFaces3.3和Java1.6,并在windows操作系统上的tomcat服务器上运行我的应用程序 问题是分组数据网格和单选按钮。以下段落将描述一个示例代码: @ManagedBean(name="quickBill") @ViewScoped public class QuickBill extends BaseManagedBean i

我是JSF2.0新手,因此我面临着一个严重的问题:将prime faces数据网格和单选按钮分组。我正在使用JSF2.0-PrimeFaces3.3和Java1.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;

}


  }
@ManagedBean(name=“quickBill”)
@视域
公共类QuickBill扩展BaseManagedBean实现可序列化{
私有列表被保险人ID=null;
@施工后
公共void init(){
装载保险人();
}   
私人保险公司(){
logger.info(“输入的负荷保险公司”);
被保险人ID=新的ArrayList();
如果(空!=保险人列表){
add(新字符串[]{“insurerid”,“Insurer_Name1”)});
add(新字符串[]{“InsurerID2”,“Insurer_Name2”)});
add(新字符串[]{“InsurerID3”,“Insurer_Name3”)});
add(新字符串[]{“InsurerID4”,“Insurer_Name4”)});
}
}
公共列表getInsuraerids(){
退还被保险人;
}
}
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>

执行上述代码时,将显示单选按钮,允许用户同时选择多个单选按钮。然而,要求是限制用户只选择一个按钮,而不是允许用户一次选择多个按钮。我还使用selectionMode=“single”生成了预期的输出,但没有多大帮助


请在这方面帮助我,或为我提供克服此问题的示例。

您可以使用
Map
尝试以下代码

支持bean代码

String selectedInsurer;
Map<String,String> insurerIDs = new LinkedHashMap<String,String>();
insurerIDs.put("InsurerID1", "Insurer_Name1"); //(label, value)
insurerIDs.put("InsurerID2", "Insurer_Name2");
insurerIDs.put("InsurerID3", "Insurer_Name3");
insurerIDs.put("InsurerID4", "Insurer_Name4");
//-- getter & setter 
选择的字符串保险人;
Map insurerIDs=new LinkedHashMap();
被保险人出售(“被保险人1”、“保险人名称1”)//(标签、值)
被保险人出售(“被保险人2”、“保险人名称2”);
被保险人出售(“被保险人3”、“保险人名称3”);
被保险人出售(“被保险人4”、“保险人名称4”);
//--吸气剂和塞特
在前端

<h:selectOneRadio value="#{quickBill.selectedInsurer}">
    <f:selectItems value="#{quickBill.insurerIDs}" />
</h:selectOneRadio>

我相信本例中的自定义布局会有所帮助。

谢谢你,Nayan,但问题是网格控制中有单选按钮。我一直在疯狂地搜索帮助,以便在datagrid中只选择一个单选按钮,并在单击新按钮时取消选择另一个单选按钮。我不想使用javascript。有人能帮我吗?@sandepdas没有涉及任何java脚本。您是否尝试过上述代码,是否遇到任何问题。提供的链接已失效。因此,请将链接的相关部分复制/粘贴到此处(查看版权)并添加一些说明。实际上,这对于Stackoverflow来说是一个“错误”的答案(一个“仅链接”的答案)