第一次使用JSF,我对getRowData()的工作方式感到困惑.我在互联网上搜索时发现的所有内容是,它返回了数据表中的“当前选定的行”,但我无法确定它是如何确定哪一行是选定的.例如,我有一个用于数据表的代码:
JSP:
binding="#{backing_student.eligibleCoursesDataTable}"
id="eligibleCoursesDataTable" rules="all" frame="box"
border="2">
oracle-jdev-comment:Faces.RI.DT.Class.Key:hu.elte.pgy2.BACNAAI.UranEJB.CourseDTO
--%>
binding="#{backing_student.outputText7}"
id="outputText7"/>
actionListener="#{backing_student.addSelfToCourseListener}"/>
后备豆:
public class BackingStudent {
private HtmlDataTable eligibleCoursesDataTable;
private List eligibleCoursesList;
// ...
public void addSelfToCourseListener(ActionEvent actionEvent) {
HtmlCommandButton thisButton = (HtmlCommandButton)actionEvent.getComponent();
CourseDTO cdto = (CourseDTO)(eligibleCoursesDataTable.getRowData());
thisButton.setValue(cdto.getCid());
}
}
这样一来,每当我单击任一行中的按钮时,所有按钮的文本都会更改为该行第一列中的值. getRowData()究竟如何知道要从表中获取哪一行?
额外的问题:为什么每个按钮的文字都会改变?