jmoordbjsf
  • Introduction
  • instalacion
  • Configurar jmoordb
    • Proyecto EJB
      • Entity
      • Repository
    • Proyecto Web
      • Controller
  • autocomplete
    • autocompleteWithCalendarDateTime
  • calendar
  • column
  • columnview
  • commandbuttonedit
    • commandbuttonedit
    • commandbuttonreturn
    • commandbuttonsave
  • template
    • csstemplate
    • jstemplate
    • metatemplate
  • date
  • toolbar
    • toolbarnew
    • toolbarnewsavereturn
    • toolbarview
    • toolbarnewdate
    • toolbarnewlowercase
    • toolbarsave
  • denegado
  • email
  • inputText
    • inputTextMeses
    • inputTextPago
    • inputTextPagoAutomatico
    • inputTextPagoAutomaticoSinSpan
    • inputTextPagoDialog
    • inputTextPagoPagare
  • label
    • labelDate
    • labelNumber
    • labelPago
    • labelPagoSinSpan
  • login
  • mesSelectOneMenu
  • messages
  • noyes
  • paginator
  • password
  • print
  • search
    • searchBetweenDate
    • searchDate
    • searchYesNo
  • selectOneMenu
  • sexo
  • view
  • yesno
  • schedule
    • cssschedule
    • jsschedule
  • Formularios
    • new.xhtml
      • Por llave primaria
      • Por otro atributo
      • Sin campo de validacion
    • view.xhtml
      • Rol view.xhtml
    • list.xthml
      • Rol list.xhtml
  • Controller
    • RolController.java con todos metodos implementados
    • save()
    • FacultadController.java
    • Metodos
    • isNew()
    • @Aspect
    • delete
    • init()
    • move()
  • Development
    • Clases como parametros y metodos en el composite
    • Crear composite distribuible con Maven
    • Agregar css
Powered by GitBook
On this page
  • RolController.java
  • Ejemplo 2: Por cualquier atributo

Was this helpful?

  1. toolbar

toolbarnew

PrevioustoolbarNexttoolbarnewsavereturn

Last updated 6 years ago

Was this helpful?

  • Dibuja los botones new, caja de texto y regresar

  • Se usa para formulario new.xthml simple

  • Se coloca el campo llave a buscar

  • Se puede usar un campo secundario en ese caso se debe modificar el método isNew (cuando usamos autoincrementables generalmente.)

  • Ejemplo con llave primaria @Id

 <jmoordbjsf:toolbarnew label="#{msg['field.idrol']}"
                        title="#{msg['titleview.rol']}"
                        value="#{rolController.rol.idrol}"
                        isnew="#{rolController.isNew()}"
                        disabled="#{rolController.writable}"
                        new="#{rolController.prepare('new',rolController.rol)}"
                        rendererList="#{applicationMenu.rol.list}"
                        list="#{rolController.prepare('golist',rolController.rol)}"
                        />

Al ingresar un valor no existente y presionar Enter se habilita el panel con los demás datos.

RolController.java

  • isNew(), valida por la llave primaria.

public String isNew() {
        try {
            writable = true;
            if (JsfUtil.isVacio(rol.getIdrol())) {
                writable = false;
                return "";
            }
            rol.setIdrol(rol.getIdrol().toUpperCase());
            Optional<Rol> optional = rolRepository.findById(rol);
            if (optional.isPresent()) {
                writable = false;

                JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
                return "";
            } else {
                String id = rol.getIdrol();
                rol = new Rol();
                rol.setIdrol(id);
                rolSelected = new Rol();
            }

        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(),nameOfMethod(), e.getLocalizedMessage());
        }
        return "";
    }
  • prepare()

  • Validar el new, y golist.

public String prepare(String action, Rol item) {
        String url = "";
        try {
            loginController.put("pagerol", page.toString());
            loginController.put("rol", action);
            switch (action) {
                case "new":
                    rol = new Rol();
                    rolSelected = new Rol();

                    writable = false;
                    break;

                case "view":

                    rolSelected = item;
                    rol = rolSelected;
                    loginController.put("idrol", rol.getIdrol());

                    url = "/pages/rol/view.xhtml";
                    break;
                case "golist":

                    url = "/pages/rol/list.xhtml";
                    break;

                case "gonew":
                    rol = new Rol();
                    rolSelected = new Rol();
                    url = "/pages/rol/new.xhtml";
                    break;
            }

        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(),nameOfMethod(), e.getLocalizedMessage());
        }

        return url;
    }

Ejemplo 2: Por cualquier atributo

  • En este ejemplo buscamos por cualquier otro atributo que no sea la llave primaria

<jmoordbjsf:toolbarnew label="#{msg['field.descripcion']}"
                       title="#{msg['titleview.facultad']}"
                       value="#{facultadController.facultad.descripcion}"
                       isnew="#{facultadController.isNew()}"
                       disabled="#{facultadController.writable}"
                       new="#{facultadController.prepare('new',facultadController.facultad)}"
                       rendererList="#{applicationMenu.facultad.list}"
                       list="#{facultadController.prepare('golist',facultadController.facultad)}"

                       />
  • Modificar el método isNew()

  • Buscar en un List<>

@Override
    public String isNew() {
        try {
            writable = true;
            if (JsfUtil.isVacio(facultad.getDescripcion())) {
                writable = false;
                return "";
            }
            facultad.setDescripcion(facultad.getDescripcion().toUpperCase());
            List<Facultad> list = facultadRepository.findBy("descripcion", facultad.getDescripcion());
            if (!list.isEmpty()) {
                writable = false;

                JsfUtil.warningMessage(rf.getAppMessage("warning.idexist"));
                return "";
            } else {
                String idsecond = facultad.getDescripcion();
                facultad = new Facultad();
                facultad.setDescripcion(idsecond);
                facultadSelected = new Facultad();
            }

        } catch (Exception e) {
            errorServices.errorMessage(nameOfClass(),nameOfMethod(), e.getLocalizedMessage());
        }
        return "";
    }