1

我需要收集班级学生的作业成绩。到目前为止我所做的是

  1. 获取学生ID列表
  2. 使用 ui:repeat i 循环遍历列表,对于每个学生 ID,我

    2a)显示一个h:inputText,其值为当前学生id,然后

    2b)在上面(2a)中的文本框右侧,我显示另一个 h:inputText 供教师输入该学生的分数(现在该值是一个虚拟变量,只是为了让页面显示)。

  3. 我有一个命令按钮来提交所有数据。

例如,如果我有 20 个学生,我将有 20 行,其中每行有两个 h:inputText,一个已经包含当前的 student_id,另一个是空的,供老师输入分数。

我如何正确收集这些值,以便正确的学生 ID 与正确的分数相关联。

请注意,我无法硬编码文本字段的数量,因为班级中的学生人数可以随时更改。

4

1 回答 1

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 />

而已。

于 2012-05-08T12:58:31.197 回答