我正在为复选框和单选按钮编写自定义jsf Renderer
,以便在没有TABLE
元素的情况下进行渲染。我的问题是,如果我有一个如下所示的选择框
<h:selectManyCheckbox id="vehicle" value="#{pageBean.vehicle}>
<f:selectItems value="#{pageBean.vehiclesList} />
</h:selectManyCheckbox>
在encodeBegin
方法中如何阅读vehiclesList
?
答案 0 :(得分:0)
直截了当。
Iterator<UIComponent> iterator = component.getFacetsAndChildren();
while (iterator.hasNext()) {
UIComponent childComponent = iterator.next();
List vehicles = childComponent.getValueExpression("value").getValue(context.getELContext);
// Do whatever with vehicles.
}
这里我假设主要组件只有一个子项是SelectItems。