【发布时间】:2014-03-06 10:52:35
【问题描述】:
我在 h:commandButton 中有一个 actionListener,但是当按下时出现错误,因为找不到方法。
代码如下:
<h:form id="course">
<ui:repeat value="#{stationCourses.course}" var="course">
<h:commandButton class="buttons"
id="courseID"
value="#{course.courseName}"
actionListener="#{stationCourses.courseSelected}"
style="alignment-adjust: central;
white-space: pre-line; word-wrap: break-word;"/>
</ui:repeat>
</h:form>
还有豆子:
import javax.faces.event.ActionEvent;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
import java.util.List;
@ManagedBean
@RequestScoped
public class StationCourses implements Serializable {
//provide connection to db
private CourseQueries cq = new CourseQueries();
private List<Course> courses = cq.getCourses("station_naas");
private int courseNumber;
public void setCourse()
{
courses = cq.getCourses("station_naas");
}//end method setCourse
public List<Course> getCourse() {
return courses;
}//end method getCourseID
public void getCourseSelected(ActionEvent event)
{
// course:j_idt6:1:courseID";
//HTML buttons generate ID like the one above
//get char at 14 will get the unique button number
//we get course according to that button and -1
//to correct the off by one error
courseNumber = event.getComponent().getId().charAt(14) - 1;
System.out.println(courses.get(courseNumber).getCourseID());
}//getCourseSelected
}//end class StationCourses
【问题讨论】: