如何在primefaces

时间:2016-07-26 05:33:32

标签: ajax jsf primefaces

我正在做一个web应用程序,其中我有一个带有列表实体的菜单,这个实体将被评估所有它在facelets模板中,我现在需要获取此实体的ID才能评估它是如何做的?

我想:

<p:menu model="#{entidadView.menuModel}" toggleable="true"   >

     <p:ajax listener="#{grupoView.storeEntidad}"/>

</p:menu>

和我的bean是:

public MenuModel getMenuModel(){
DefaultSubMenu subMenu2 = new DefaultSubMenu("Auditoria");
    for (Entidad entidad : getAllEntidad() ){
        item = new DefaultMenuItem(entidad.getNombre());
        item.setOutcome("/auditar.xhtml");    
        subMenu2.addElement(item);
    }

    model.addElement(subMenu2);

 //Event to Ajax
public void  storeEntidad(ValueChangeEvent evento){

    this.idEntidad = evento.getNewValue().toString();;
    System.out.println(idEntidad);

 }

但请告诉我这个错误:

 <p:ajax> Unable to attach behavior to non-ClientBehaviorHolder parent

1 个答案:

答案 0 :(得分:0)

我这样做只是通过我的网页的URL发送参数然后我捕获它。  我的豆子:

select (q1.col || '/' || q2.col || '/' q3.col)
from (<query1>) q1 cross join
     (<query2>) q2 cross join
     (<query3>) q3;

我接下来的下一页:

public MenuModel getMenuModel(){
   DefaultSubMenu subMenu2 = new DefaultSubMenu("Auditoria");
    for (Entidad entidad : getAllEntidad() ){
       idEntidad = String.valueOf(entidad.getEntidad_id());
        item = new DefaultMenuItem(entidad.getNombre());
        item.setParam("entidad", idEntidad);
        item.setOutcome("/auditar.xhtml");    
       subMenu2.addElement(item);
}

model.addElement(subMenu2);
}

最终没关系! (Y)