0

我已经使用 primefaces 3.5 UI 制作了 jsf 2 网页,所以网页正在运行,但我的 dataTable 给出了 empaty rows 值,它应该给我从数据库查询返回的值。

请注意,我已经测试了数据库查询并且工作正常,但我认为将这些数据发送到 HTML bean 时存在问题。

我的完整代码:

@ManagedBean
@SessionScoped
public class TableBean implements  Serializable  {

private static final long serialVersionUID = 1L;

        public int model() throws ClassNotFoundException, ReflectiveOperationException, Exception{
    try {
        // i'm sure the following query return acutal data ! 

        Dbconnection NewConnect = new Dbconnection();
        Connection con = NewConnect.MakeConnect();
        Statement stmt = con.createStatement();
        ResultSet rs =  stmt.executeQuery(" select student_id , teacher_id , apssent_date , interval_id , Day_id from Apsent where class_id =  1" ) ;
        int StudentID  ;
        int ClassID  ;

    while(rs.next()){

         StudentID = rs.getInt(1);
         ClassID = rs.getInt(2);

         return StudentID ;    // or 0 or any value but the web page  still   give empaty rows value in data grid 

    }


}

    catch (SQLException e){

    }
    return 0000;


    }

我的完整 html 代码:

<h:form>  
<p:dataTable var="car" value="#{tableBean}">  
    <p:column headerText="Model">  
        <h:outputText value="#{model.StudentID}" />  
    </p:column>  

    <p:column headerText="Year">  
        <h:outputText value="#{model.StudentID}" />  
    </p:column>  

    <p:column headerText="Manufacturer">  
        <h:outputText value="#{model.StudentID}" />  
    </p:column>  

    <p:column headerText="Color">  
        <h:outputText value="#{model.StudentID}" />  
    </p:column>  
</p:dataTable>  

4

1 回答 1

1

出色地。正如我所见,您完全误解了实施。您的 bean 作为模型应该具有私有属性,即

private List<Object> list;
private int someInteger.

和他们的公共访问者,即:

public setList(List<Object> list){
   this.list = list;
}
public getList(){
   return list;
}

然后你可以添加一些代码来获取这样的方法:

public getSomeInteger(){
   return myObjectService.findAll(); //myObjectService.findAll() return result of some DB query.
}

那么您的 xhtml 数据表应如下所示:

<p:dataTable var="obj" value="#{yourBean.list}">  
    <p:column headerText="Model">  
        <h:outputText value="#{obj.property1}" />  
    </p:column>  

    <p:column headerText="Year">  
        <h:outputText value="#{obj.property2}" />  
    </p:column>  

    <p:column headerText="Manufacturer">  
        <h:outputText value="#{obj.property3}" />  
    </p:column>  
</p:dataTable> 

为了更好地理解 JSF,请阅读一些教程: MkyongBalusC

于 2013-09-03T05:12:39.420 回答