gpt4 book ai didi

java - jsf中可以显示的行数限制

转载 作者:行者123 更新时间:2023-11-29 14:01:39 24 4
gpt4 key购买 nike

我开发jsf应用程序。我有一个 MySQL Student 表,由 30-40 列和 600 行组成。这是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.E​​valuationException:java.lang.NullPointerException。但是,当我修改查询以将显示的数量限制为 150 行时,没有错误。任何人都可以弄清楚如何显示这 600 行而不出错。谢谢...

最佳答案

您可能会在以下不安全的代码行中遇到 NullPointerExceptions:

rs.getString("nama").toString()
rs.getString("tanggalregistrasi").toString()
rs.getString("dosenwali").toString()

这假设您的记录集中的这三列永远不会有空值。您应该将其分配给一个变量,并在使用 . 运算符之前进行空检查。

此外,为什么要在这里调用 toString() ? ResultSet.getString 方法已返回一个 String 对象。这是完全没有必要的。

关于java - jsf中可以显示的行数限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14977196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com