如何在Renderer中读取bean值

时间:2012-07-27 10:36:53

标签: jsf-1.2 renderer

我正在为复选框和单选按钮编写自定义jsf Renderer,以便在没有TABLE元素的情况下进行渲染。我的问题是,如果我有一个如下所示的选择框

    <h:selectManyCheckbox id="vehicle" value="#{pageBean.vehicle}>
       <f:selectItems value="#{pageBean.vehiclesList} />
    </h:selectManyCheckbox>

encodeBegin方法中如何阅读vehiclesList

1 个答案:

答案 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。