私はjsfアプリケーションを開発しています。30 ~ 40 列と 600 行で構成される MySQL Student テーブルがあります。StudentBean のコードは次のとおりです。
@ManagedBean(name = "student")
@SessionScoped
public class StudentBean implements Serializable{
private List<Student> studentlist = new ArrayList<Student>();
private Student student = new Student();
private HtmlDataTable datatable;
private HtmlInputHidden studentnpm = new HtmlInputHidden();
private String querybynpm;
private String querybyangkatan;
private String status;
private String result;
public String init() {
try {
Class.forName(JurusanConection.getDriver());
} catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
try {
Connection con = DriverManager.getConnection(JurusanConection.getUrl(),
JurusanConection.getUser_name(), JurusanConection.getPass_word());
String query = "SELECT * FROM student";
Statement ps = con.createStatement();
ResultSet rs = ps.executeQuery(query);
while (rs.next()) {
Student students = new Student();
students.setNpm(rs.getString("npm"));
students.setNama(rs.getString("nama").toString());
//setter and getter
students.setTanggalregistrasi(rs.getString("tanggalregistrasi").toString());
students.setDosenwali(rs.getString("dosenwali").toString());
students.setEmail(rs.getString("email"));
students.setKelas(rs.getString("kelas"));
studentlist.add(students);
}
result="mahasiswa";
ps.close();
con.close();
} catch (SQLException e) {
setResult(null);
setStatus(e.getMessage());
}
return result;
}
コンストラクターを介してデータベースにデータを入力しませんでしたが、init() メソッドを呼び出しました。エラー メッセージ javax.faces.el.EvaluationException: java.lang.NullPointerException が表示されました。ただし、クエリを変更して表示数を 150 行に制限すると、エラーは発生しません。エラーなしでこの 600 行を表示する方法を誰でも理解できますか? ありがとうございました...