【问题标题】:Updating Bean from JSF dataTable从 JSF 数据表更新 Bean
【发布时间】:2009-12-11 15:18:20
【问题描述】:

我有这个 h:dataTable 和表单:

<h:form>
<h:dataTable value='#{bean.allData.dataItems}' var='item'>
   <h:column>
     <h:outputText value='#{item.id}' />
   </h:column>

   <h:column>
     <h:inputText value='#{item.name}' />
   </h:column>
</h:dataTable>

<h:commandButton value="Save" action="#{bean.saveEntries}"/>
</h:form>

所以表格显示了 id 和一个带有名称的文本框。这很有效。当用户单击按钮时,我希望它保存对名称字段的任何更改。

DataBean 有:

private Vector<ItemBean> dataItems;

// constructor here

public void setDataItems(Vector v) {
   dataItems = v;
}

public Vector getDataItems() {
   return dataItems;
}

并且 ItemBean 有...

private String id;
private String name;

// setter for both
// getter for both

Bean 有一个“DataBean”类型的变量“allData”。

Bean 还有一个方法 saveEntries() 目前是空白的(因为我不确定它是如何工作的)。如何引用输入来设置这些值?

【问题讨论】:

    标签: forms jsf input datatable


    【解决方案1】:

    JSF 已经在UPDATE MODEL VALUES 阶段完成了它。打印/调试局部变量,你会看到。在 save 方法中您需要做的只是将数据持久化到某个数据存储区中。

    有关更多背景信息和示例,另请参阅以下文章:

    1. Using datatables
    2. Debug JSF lifecycle

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-17
      • 2017-06-29
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 2014-06-02
      • 2014-01-25
      相关资源
      最近更新 更多