search

Una búsqueda en jmoordb sigue el siguiente patrón.

  • Crear un entity para search con metodos set/get

  • Rol rolSearch = new Rol();

  • Crear métodos set/get

  • Se pueden crear las variables necesarias en el contoller con sus metodos set/get

  • En el componente asociarlo al atributo correspondiente.

  • E invocar el método serchBy(nombre_atributo, valor), este pertenece al IController

IController

  • asigna JmoordbContext.put("search"+nombre_entity, atributo pasado desde el compoente)

  • internamente asigna JmoordbContext.put("_fieldsearch"+entity, valor del atributo)

Controller

Metodo move

Rol rolSearch = new Rol();

//set/get

      @Override
    public void move(Integer page) {
        try {
            this.page = page;
            rolDataModel = new RolDataModel(rolList);
            Document doc;

            switch ((String) JmoordbContext.get("searchrol")) {



                    case "activo":
                    if (JmoordbContext.get("_fieldsearchrol") != null) {
                        rolSearch.setActivo(JmoordbContext.get("_fieldsearchrol").toString());
                        doc = new Document("activo", rolSearch.getActivo());
                        rolList = rolRepository.findPagination(doc, page, rowPage, new Document("idrol", -1));

                    } else {
                        rolList = rolRepository.findPagination(page, rowPage);

                    }
                    break;
                    }

list.xhtml

  <jmoordbjsf:search label="#{msg['field.activo']}"
                                           value="#{rolController.rolSearch.activo}"
                                           renderedList="#{applicationMenu.rol.list}"  
                                           search="#{rolController.searchBy('activo',rolController.rolSearch.activo)}"
                                           />

Last updated

Was this helpful?