我的 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 绑定(bind)到某些内容,以便检索用户输入的值?
最佳答案
您需要创建一个值绑定(bind),将组件的值与某些 bean 属性绑定(bind)。由于您正在使用(已废弃并废弃超过 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
属性。
关于java - jsp 文本字段绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2872428/