のように値を入れると{zdsqlBean.zdljs}
、私が望む結果を得ることができます。
<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);
}
}
}