我需要在课堂上收集学生的作业分数。到目前为止我所做的是
使用ui:重复i循环通过列表和每个学生ID,我
2a)显示一个h:inputText,其值为当前学生ID,然后
2b)在上面(2a)的文本框右侧,我显示另一个h:inputText,供教师输入该学生的分数(现在该值是一个虚拟变量,只是为了让页面显示)。
例如,如果我有20个学生,我会有20行,其中每行有两个h:inputText,一个已经包含当前student_id,另一个是空的,教师可以输入分数。
如何正确收集这些值,以便将正确的学生ID与正确的分数相关联。
请注意,我无法对文本字段的数量进行硬编码,因为课程中学生的数量可能随时发生变化。
答案 0 :(得分:2)
创建模型对象。
public class Score {
private Long studentId;
private BigDecimal teacherScore;
// Getters/setters.
}
在一些JSF托管bean中列出它们。
private List<Score> scores;
使用<h:dataTable>
来展示它们。
<h:dataTable value="#{bean.scores}" var="score">
<h:column><h:inputText value="#{score.studentId}" /></h:column>
<h:column><h:inputText value="#{score.teacherScore}" /></h:column>
</h:dataTable>
<h:commandButton value="Save" action="#{bean.save}" />
<h:messages />
就是这样。