2013-07-04 2 views
-1

메신저, 데이터 테이블 즉, 데이터를 검색 primefacesprimefaces 내 XHTML 코드를 제대로

여기

의 데이터 테이블 태그를 사용하여 XHTML 페이지에서 datas를 표시 한 문제에 직면 JSF를 사용하여 웹 어플리케이션 및 primefaces 및 메신저 개발 작동하지 DataTable을

여기

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
     xmlns:h="http://java.sun.com/jsf/html" 
     xmlns:f="http://java.sun.com/jsf/core" 
     xmlns:ui="http://java.sun.com/jsf/facelets" 
     xmlns:p="http://primefaces.org/ui"> 

<h:head></h:head> 
<body> 
<h:form id="form"> 
<h:panelGrid columns="2" cellpadding="10"> 
<h:outputText value="Batch Name" /> 
      <p:selectOneMenu id="city" value="#{allot.batchName}"> 
       <f:selectItem itemLabel="Select Batch" itemValue="" /> 
       <f:selectItems value="#{allot.batchList}" /> 
       <p:ajax listener="#{allot.handleBatch}" /> 
      </p:selectOneMenu> 
      <p:dataTable var="batch" value="#{allot.batchInfoList}" > 
       <p:column headerText="Tan"> 
        <h:outputText value="#{batch.tan}" /> 
       </p:column> 
      </p:dataTable> 
    </h:panelGrid> 
</h:form> 
</body> 
</html> 
내 행동 빈은

package com.cation.action; 

import java.util.ArrayList; 
import java.util.List; 

import com.cation.bean.BatchInfo; 
import com.cation.controller.CationController; 

public class Allocation { 

    private String batchName; 

    private List<BatchInfo> batchInfoList; 

    private List<String> batchList = new ArrayList<String>(); 

    private CationController cationController = new CationController(); 

    public String getBatchName() { 
     return batchName; 
    } 

    public void setBatchName(String batchName) { 
     this.batchName = batchName; 
    } 

    public List<BatchInfo> getBatchInfoList() { 
     return batchInfoList; 
    } 

    public void setBatchInfoList(List<BatchInfo> batchInfoList) { 
     this.batchInfoList = batchInfoList; 
    } 

    public List<String> getBatchList() { 
     return batchList; 
    } 

    public void setBatchList(List<String> batchList) { 
     this.batchList = batchList; 
    } 

    public Allocation() { 
     try { 
      batchList = cationController.getAllBatch(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 

    public String handleBatch() { 
     try { 
      batchInfoList = new ArrayList<BatchInfo>(); 
      batchInfoList = cationController.getBatchByName(batchName); 
     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
     return "allotInput"; 
    } 
} 

내 조건이있는 데이터를 검색하는 데 사용되는 것을 selectOne 메서드 남성에서 값을 선택할 때 u 태그 내가 선택한 값을 받고있어 개체의 일부 목록을 검색하고 datatable을 사용하여 xhtml 페이지에 표시하는 값을 사용하여. 하지만 문제는 내가 동작중인 객체 목록을 얻고 있지만 xhtml 페이지에 표시된 데이터가 없습니다.

누구나 나를이 문제를 해결할 수 있습니다.

+0

당신이'batchInfoList'을 채우는 방법은 다음과 같습니다

<p:dataTable id="table" ... 

그리고 당신이 표를 업데이트해야합니다 귀하의 버튼에

? – Akheloes

답변

0

이 경우 "제출"버튼을 사용하는 것이 일반적입니다.

  1. 당신은 당신은
  2. 표가 데이터로 가득하고있는 제출 버튼을 클릭하여 메뉴
  3. 에서 항목을 선택합니다.

는 당신이 또한 필요하기위한 ID입니다 귀하의 데이터 테이블 :

<p:commandButton value="Update my table" actionListener="#{allot.handleBatch}" update="table" ... 
관련 문제