jsp TextField绑定

时间:2010-05-20 09:22:05

标签: java jsp jsf binding

我的Page1.jsp中有一个面板:

<webuijsf:panelLayout binding="#{Page1.dynamicFieldsPanel}"
    id="dynamicFieldsPanel" -rave-layout: grid"/>

然后我在Page1.java中有这个:

private PanelLayout dynamicFieldsPanel = new PanelLayout();

public void setDynamicFieldsPanel(PanelLayout pl)
{
    this.dynamicFieldsPanel = pl;
}

public PanelLayout getDynamicFieldsPanel()
{
    TextField textField = new TextField();
    this.dynamicFieldsPanel.getChildren().add(textField);

    return dynamicFieldsPanel;
}

如何将动态TextField绑定到某个位置,以便检索用户输入的值?

1 个答案:

答案 0 :(得分:1)

您需要创建一个值绑定,它将组件的值与某个bean属性绑定在一起。既然您正在使用(超过3年死亡和被遗弃)Woodstock库,我敢打赌您仍然使用传统的JSF 1.1,所以这是一个JSF 1.1目标示例:

FacesContext context = FacesContext.getCurrentInstance();
ValueBinding value = context.getApplication().createValueBinding("#{bean.property}");
someComponent.setValueBinding("value", value);

#{bean.property}当然应该指向托管bean #{bean}中的有效和现有属性。如果事先无法预测一个或多个名称,那么您可以考虑使用Map属性。