2013-07-26 4 views
-2

{zdsqlBean.zdljs}으로 값을 넣으면 원하는 결과를 얻을 수 있습니다.jsf에 {zdsqlBean.thszfas} 값을 넣을 수없는 이유는 무엇입니까?

<h:outputLabel value="#{msgs.zdlj}" style="font-weight:bold" /> 
<p:selectOneMenu id="zdlj2" value="#{zsjBean.zdlj}"> 
    <f:selectItems value="#{zdsqlBean.zdljs}" var="bll4" 
        itemLabel="#{bll4.descri}" itemValue="#{bll4.value}" /> 
</p:selectOneMenu> 

그러나이 값을 {zdsqlBean.thszfas}으로 입력하면 원하는 결과를 얻을 수 없습니다.

<h:outputLabel value="#{msgs.zdlj}" style="font-weight:bold" /> 
<p:selectOneMenu id="zdlj2" value="#{zsjBean.zdlj}"> 
    <f:selectItems value="#{zdsqlBean.thszfas}" var="bll4" 
        itemLabel="#{bll4.descri}" itemValue="#{bll4.value}" /> 
</p:selectOneMenu> 

왜? 다음은 zdsqlBean입니다.

@ManagedBean(name = "zdsqlBean") 
@SessionScoped 

public class ZdsqlBean { 

    private List<Zdsql> zdsqls; 
    private List<Zdsql> zdljs; 
    private List<Zdsql> thszfas; 


    public ZdsqlBean(){ 
     this.genzdljs(); 
     this.getThszfas(); 
    } 


    public List<Zdsql> getZdsqls() { 
     return zdsqls; 
    } 

    public List<Zdsql> getThszfas() { 

     System.out.println("zdsqls1=="); 

     return thszfas; 
    } 

    public List<Zdsql> getZdljs() { 
     return zdljs; 
    } 


    public void genzdljs() { 
     try { 
      String queryString = "select m from Zdsql m where m.filter = :filter Order by m.id"; 
      TypedQuery<Zdsql> query = DBDAO.getEntityManager().createQuery(
        queryString, Zdsql.class); 
      query.setParameter("filter", "zdlj"); 

      System.out.println("zdsqls1=="); 

      zdljs = query.getResultList(); 

     } catch (Exception re) { 
      DBDAO.log("genzdljs() failed", Level.SEVERE, re); 
     } 
    } 


    public void genthszfas() { 
     try { 

      System.out.println("zdsqls1`1=="); 

      String queryString = "select m from Zdsql m where m.filter = :filter Order by m.id"; 
      TypedQuery<Zdsql> query = DBDAO.getEntityManager().createQuery(
        queryString, Zdsql.class); 
      query.setParameter("filter", "thszfas"); 

      System.out.println("zdsqls12=="); 

      thszfas = query.getResultList(); 

     } catch (Exception re) { 
      DBDAO.log("genthszfas() failed", Level.SEVERE, re); 
     } 
    } 
} 
+0

먼저 JSF 튜토리얼을 따라하고 무엇을하고 있는지 개념을 이해하려고 노력하십시오. 둘째, 독자에게 혼란을주는 문자 대신 클래스와 변수 이름에 대해 이해할 수있는 실제 이름을 사용하십시오. –

+0

셋째, 코드 들여 쓰기에 더주의를 기울여 이탤릭체를 제거하고 개발자의 관점에서 무엇을 의미하는지 설명하십시오. _ 나는 원하는 결과를 얻을 수 없습니다. – perissf

답변

0

두 번째 목록을 채우지 않습니다. 생성자는 다음과 같이 표시되어야합니다.

public ZdsqlBean(){ 
    this.genzdljs(); 
    this.genthszfas(); //and not this.getThszfas(); 
} 

Luiggi Mendoza가 맞습니다. 이와 같은 오류를 방지하려면 이해할 수있는 이름을 사용하십시오 !!

관련 문제