Jsf 2 填充第二个素数面选择一个菜单
我有两个选择菜单。我从selectOneMenu1中选择项,并将项值添加到查询的where条件中。查询结果成功。但我没有将查询结果放入selectOneMenu2。selectOneMenu2每次都为空。我添加了关于这个问题的managedBean和xhtml页面代码 //Birimanagedbean关于上述问题Jsf 2 填充第二个素数面选择一个菜单,jsf-2,Jsf 2,我有两个选择菜单。我从selectOneMenu1中选择项,并将项值添加到查询的where条件中。查询结果成功。但我没有将查询结果放入selectOneMenu2。selectOneMenu2每次都为空。我添加了关于这个问题的managedBean和xhtml页面代码 //Birimanagedbean关于上述问题 @Override public void processAjaxBehavior(AjaxBehaviorEvent event) throws AbortProcessingEx
@Override
public void processAjaxBehavior(AjaxBehaviorEvent event) throws AbortProcessingException {
String birimRequested = deger;
byte birimId = Byte.parseByte(
bolumManagedBean.bolumBilgileriniGetir(birimId);
}
public void bolumBilgileriniGetir(byte id) {
bolumler = new ArrayList<Bolum>();
Session session = HibernateUtil.getSessionFactory().openSession();
Query query = session.createQuery("from Bolum b where b.birim.birim_id = :id");
query.setParameter("id", id);
bolumler = query.list();
<p:selectOneMenu id="birimi" value="#{birimMBean.deger}" style="float: left;" >
<f:selectItems value="#{birimMBean.birimler}" var="birim" itemLabel="#{birim.birim_adi}" itemValue="#{birim.birim_id}" />
<p:ajax event="change" listener="#{birimMBean.processAjaxBehavior}" />
</p:selectOneMenu>
<br/><br/>
<p:selectOneMenu id="bolumu" value="#{bolumMBean.secilenBolum}" style="float: left;">
<f:selectItems value="#{bolumMBean.bolumler}" var="bolum" itemLabel="#{bolum.bolum_adi}" itemValue="#{bolum.bolum_id}" />
</p:selectOneMenu>
//BolummangedBean关于上述问题
@Override
public void processAjaxBehavior(AjaxBehaviorEvent event) throws AbortProcessingException {
String birimRequested = deger;
byte birimId = Byte.parseByte(
bolumManagedBean.bolumBilgileriniGetir(birimId);
}
public void bolumBilgileriniGetir(byte id) {
bolumler = new ArrayList<Bolum>();
Session session = HibernateUtil.getSessionFactory().openSession();
Query query = session.createQuery("from Bolum b where b.birim.birim_id = :id");
query.setParameter("id", id);
bolumler = query.list();
<p:selectOneMenu id="birimi" value="#{birimMBean.deger}" style="float: left;" >
<f:selectItems value="#{birimMBean.birimler}" var="birim" itemLabel="#{birim.birim_adi}" itemValue="#{birim.birim_id}" />
<p:ajax event="change" listener="#{birimMBean.processAjaxBehavior}" />
</p:selectOneMenu>
<br/><br/>
<p:selectOneMenu id="bolumu" value="#{bolumMBean.secilenBolum}" style="float: left;">
<f:selectItems value="#{bolumMBean.bolumler}" var="bolum" itemLabel="#{bolum.bolum_adi}" itemValue="#{bolum.bolum_id}" />
</p:selectOneMenu>
public void bolumBilgileriniGetir(字节id){
bolumler=新的ArrayList();
Session Session=HibernateUtil.getSessionFactory().openSession();
Query Query=session.createQuery(“来自Bolum b,其中b.birim.birim_id=:id”);
query.setParameter(“id”,id);
bolumler=query.list();
}
//yeni_kayit.xhtml关于上述问题
@Override
public void processAjaxBehavior(AjaxBehaviorEvent event) throws AbortProcessingException {
String birimRequested = deger;
byte birimId = Byte.parseByte(
bolumManagedBean.bolumBilgileriniGetir(birimId);
}
public void bolumBilgileriniGetir(byte id) {
bolumler = new ArrayList<Bolum>();
Session session = HibernateUtil.getSessionFactory().openSession();
Query query = session.createQuery("from Bolum b where b.birim.birim_id = :id");
query.setParameter("id", id);
bolumler = query.list();
<p:selectOneMenu id="birimi" value="#{birimMBean.deger}" style="float: left;" >
<f:selectItems value="#{birimMBean.birimler}" var="birim" itemLabel="#{birim.birim_adi}" itemValue="#{birim.birim_id}" />
<p:ajax event="change" listener="#{birimMBean.processAjaxBehavior}" />
</p:selectOneMenu>
<br/><br/>
<p:selectOneMenu id="bolumu" value="#{bolumMBean.secilenBolum}" style="float: left;">
<f:selectItems value="#{bolumMBean.bolumler}" var="bolum" itemLabel="#{bolum.bolum_adi}" itemValue="#{bolum.bolum_id}" />
</p:selectOneMenu>
将update=“bolumu”
添加到p:ajax
标记中。将update=“bolumu”
添加到p:ajax
标记中,请再试一次。感谢您的回答:)我用这个答案解决了我的问题。没问题。我把它作为一个单独的答案加了上去。