我有以下数据表:
<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迭代数据表?或者我该如何实现这种行为呢?
答案 0 :(得分: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());
}
}