如何将动态生成的表单中的输入值绑定到bean中列表的对象

时间:2015-11-28 10:24:40

标签: jsf jsf-2

我正在从bean动态创建表单。我想将动态创建的组件绑定到DTO列表,即第一个inputtext值必须保存为DTO对象,即List [0],第二个inputtext值必须保存为DTO对象,即List [1] ,第三个inputtext值必须保存为DTO对象,即List [2]。

public void addInputText(String value, HtmlPanelGrid grid,
        FundamentsAttributesDBDTO attribute) {
    HtmlInputText inputText = new HtmlInputText();
    inputText.setValue(value);
    inputText.setStyleClass("tile");
    inputText.setValueExpression(
            "value",
            createValueExpression("#{formGeneratorBean.input}",
                    String.class));
    grid.getChildren().add(inputText);
}
public static ValueExpression createValueExpression(String valueExpression,
            Class<?> valueType) {
        FacesContext context = FacesContext.getCurrentInstance();
        return context
                .getApplication()
                .getExpressionFactory()
                .createValueExpression(context.getELContext(), valueExpression,
                        valueType);
    }

XHTML

 <h:body>
       <h:form id="form" binding="#{formGeneratorBean.form}" />
    </h:body>

必须在此列表中填写已创建表单中的值

private transient List<ValuesDTO> valuesList = new ArrayList<ValuesDTO>();

请帮我解决这个问题。

0 个答案:

没有答案