0

我有以下数据表:

   <h:form> 
<h:dataTable id = "notTable" value="#{editCategoryBean.allNotifications}" var="notification">
     <h:column>                 
        <f:facet name="header">Key</f:facet>                    
        <h:inputText id = "notkey" value="#{notification.key}" />
     </h:column>
     <h:column>
        <f:facet name="header">Lang</f:facet>
        <h:inputText id = "notlanguage" value="#{notification.language}"/>
     </h:column>
     <h:column>
        <f:facet name="header">Value</f:facet>
        <h:inputText id = "notvalue" value="#{notification.value}"/>      
     </h:column>
   </h:dataTable>
<h:commandButton action ="#{editCategoryBean.save()}"  value = "Save" >    </h:commandButton>

我想从数据表中的 allNotifications 列表中编辑我的通知,并通过一键单击保存所有更改。如何从 editCategoryBean 遍历数据表?或者我该如何实现这种行为?

4

1 回答 1

1

JSF 已经value="#{editCategoryBean.allNotifications}"以通常的方式使用提交的值更新了后面的模型。因此,您基本上需要做的就是将其传递给服务层进行保存:

public void save() {
    yourNotificationService.save(allNotifications);
}

否则,如果您出于某种原因真的坚持自己迭代它,也许为了测试目的打印提交的值,那么只需按照通常的 Java 方式进行:

public void save() {
    for (Notification notification : allNotifications) {
        System.out.println(notification.getKey());
        System.out.println(notification.getLanguage());
        System.out.println(notification.getValue());
    }
}
于 2013-06-17T16:53:22.460 回答