<h:dataTable value="#{studentBean2.studentList}" var="student">
<h:column>
<f:facet name="header">
<h:outputText value="STUDENT-ID" />
</f:facet>
<h:outputText value="#{student.studentId}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="STUDENT-NAME" />
</f:facet>
<h:inputText value="#{student.studentName}" />
</h:column>
.........
.........
</h:dataTable>
<h:commandButton type="submit" action="#{studentBean2.action}" value="ENTER" />
A partir du code ci-dessus, les valeurs pouvant être datées peuvent être modifiées dans le champ <h:inputText>
et soumises. Ces valeurs modifiées sont vus dans action()
méthode de bean StudentBean2
. Comme j'ai suivi le journal, il a montré que lorsque je soumets la page dans la phase "Apply Request Values" la méthode getStudentList()
est appelée. Dans cette méthode, je fais l'appel JDBC pour récupérer les étudiants de la base de données et définir le nouveau studentlist
.Comment Datatable contient mes valeurs modifiées
Mais dans la phase "Invoke Application", dans la méthode action()
j'obtiens les données éditées dans la liste que j'ai soumise. Comment cela se passe-t-il exactement? JSF vous les a définies lors de la phase de mise à jour des valeurs du modèle.