我有两个selectOneListbox实例,它们引用托管 bean 中的相同属性。这两个列表属于不同的形式。
当在一个列表中选择位置后,我在另一个列表中选择了一个,它没有被选中,只是第一次;进一步的选择都很好。
请建议如何解决问题。
JSF
<h:form>
<ul style="list-style: none">
<li>
<h:selectOneListbox size="1" value="#{adminController.model}" >
<f:ajax event="valueChange" render="@all"/>
<f:selectItems value="#{adminController.gtSelectItem()}" var="p" itemValue="${p.name}" itemLabel="${p.name}"/>
</h:selectOneListbox>
</li>
</ul>
</h:form>
<h:form>
<ul>
<li>
<h:selectOneListbox size="1" value="#{adminController.model}" >
<f:ajax event="valueChange" render="@all"/>
<f:selectItems value="#{adminController.gtSelectItem()}" var="p" itemValue="${p.name}" itemLabel="${p.name}"/>
</h:selectOneListbox>
</li>
<h:commandButton value="Print">
<f:ajax event="click" listener="#{adminController.printAjax()}"/>
</h:commandButton>
</ul>
</h:form>
</div>
托管 Bean 属性
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
选择项目
public ArrayList<Product> gtSelectItem() {
ArrayList<Product> als = new ArrayList<>(pc.getProductList());
return als;
}