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中实现foreach?_Jsf_Jsf 2 - Fatal编程技术网

如何在jsf中实现foreach?

如何在jsf中实现foreach?,jsf,jsf-2,Jsf,Jsf 2,如何使用当前的ofer和h:selectManyCheckBox中的选定项创建ofer\u has\u location对象从location和ofer连接对象 <h:selectOneMenu id="companyidCompany" value="#{oferController.selected.companyidCompany}" title="#{bundle.CreateOferTitle_companyidCompany}" required="

如何使用当前的ofer和h:selectManyCheckBox中的选定项创建ofer\u has\u location对象从location和ofer连接对象

<h:selectOneMenu id="companyidCompany" 
    value="#{oferController.selected.companyidCompany}" 
    title="#{bundle.CreateOferTitle_companyidCompany}"
    required="true" 
    requiredMessage="#{bundle.CreateOferRequiredMessage_companyidCompany}">
    <f:ajax event="valueChange" execute="companyidCompany"
        render="locationCollection" />
    <f:selectItems value="#{companyController.itemsAvailableSelectOne}"/>
</h:selectOneMenu>

<h:outputLabel value="#{bundle.CreateOferLabel_locationCollection}"
    for="locationCollection" />      
<h:selectManyListbox id="locationCollection" value="locations"
    title="#{bundle.CreateOferTitle_locationCollection}">                       
    <c:forEach items="locations">      
        <f:selectItems var="locations"
            value="#{oferController.selected.companyidCompany.locationCollection}" />
    </c:forEach>
</h:selectManyListbox>

为了实现“连接元素”功能,您需要做什么:

有两个元素,在您的情况下,第二个元素将取决于第一个元素的选定选项。第二个元素必须有一个id才能在以后重新提交。 由您选择的两个JSF标记呈现的每个HTML select元素都将有一组选项,这些选项不应该通过迭代元素创建,比如,实际上这是可能的,而是通过/tags来创建的。因此,请删除注释中的迭代标记。 当组件中的值不是作为普通字符串或原语包装器整数等绑定,而是作为模型对象YourClass对象等绑定时,您需要告诉JSF两件事:它如何从类中打印选项的值,以及它如何从作为字符串的请求参数重构对象。为此,您需要实现,也就是说,解释JSF如何进行上述转换。使用和作为参考点。请注意的适当语法。 由这两个组件绑定的模型值也需要表示您的类,其方式与所选项的值相同。因为它是value={};因为它是value={},分别使用您的类selectOneMenuValue和List selectManyListboxValues或您的类[]selectManyListboxValues bean属性。 第二次选择的填充将通过标签处理。由于内容需要“动态”计算,因此正确的位置是在其listener属性中,即,要使列表内容具有SecondListBox=createListboxValuesYourClass oneMenuSelectedOption。如果希望重新渲染第二个元素,请在的“渲染”属性中指定其客户端id。实例 例如,如果要绑定到String/String[]值,则不需要转换器部件


试着一步一步地检查,找出错误并改正。

没有理由使用。只要去掉它,提供转换器,在listbox中使用正确的值绑定,并在AJAX侦听器方法中准备必要的数据,就可以了。@skuntsel,您需要打破所有这些down@kolossus然后我将离开OP,而不考虑他的个人经历,这可能会对他编写真实世界应用程序的能力产生负面影响:当然,我会给你一些指导,给你!看一看!我还不能让它工作,我的自定义转换器getAsObject方法中的值正在返回,我不知道它为什么工作!!!!!!非常感谢你!!!jpa用手轻轻地摆弄了一下会合桌,它就像一个魔咒!!!!非常感谢你!!!!