2013-06-17 3 views
0

У меня есть следующие DataTable:Итерация через DataTable из фасоли

<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 в DataTable и сохранить все изменения с одним нажатием кнопки. Как я могу выполнять итерацию через datatable из editCategoryBean? Или как я могу реализовать это поведение иначе?

+0

Вы пробовали? Если да, то что вы нашли? – zargarf

ответ

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()); 
    } 
} 
Смежные вопросы