我有一个豆类员工,其属性id,name以及公共getter和setter。
我使用以下 bean 进行数据库连接并从数据库表中获取值。
桌豆.java:
public class TableBean{
public Connection getVConnection() throws Exception{
String driver = "oracle.jdbc.driver.OracleDriver";
String url = "jdbc:oracle:thin:@localhost:1521:globldb3";
String username = "scott";
String password = "tiger";
Class.forName(driver);
Connection conn = DriverManager.getConnection(url, username, password);
return conn;
}
public List<Employee> getPerInfoAll() {
int i = 0;
Connection conn = null;
PreparedStatement pstmt = null;
List<Employee> perInfoAll = new ArrayList();
try {
conn = getVConnection();
String query = "select * from employee where e_id>5400";
pstmt = conn.prepareStatement(query);
rs = pstmt.executeQuery();
while(rs.next()){
System.out.println(rs.getString(1));
perInfoAll.add(i,newEmployee(rs.getInt(1),rs.getString(2)));
i++;
}
pstmt.close();
rs.close();
conn.close();
}catch (Exception e){
e.printStackTrace();
}
return perInfoAll;
}
以下是 jsf 页面:
<h:dataTable value="#{TableBean.perInfoAll}" var="e">
<h:column>
<f:facet name="header">Employee id</f:facet>
<h:outputText value="#{e.id}">
</h:column>
<h:column>
<f:facet name="header">Employee name</f:facet>
<h:outputText value="#{e.name}">
</h:column>
</h:dataTable>
请回复。提前谢谢。
我认为这可能是(再次)getter/setter方法命名的问题。如果您的住宿已命名
private List<Employee> perInfoAll
getter 方法必须是
public List<Employee> getPerInfoAll() { ... }
请注意方法名称中的大写字母"P"。
此外,您不需要在面部表情中的 el 表达式后面使用分号。