Desarrollo WEB.


Las practicas de programación orientadas a la web son muy cambiantes en el tiempo. Es necesario conocer e implementar tecnologías, conocer lenguajes,integrar comunidades,usar Ides, etc, recientes, para responder al mercado que se acerca.

domingo, 22 de julio de 2012

Construir un objeto primefaces desde Codigo Java

Cuando queremos llenar un componente primefaces en el caso de una tabla se usan los modelos primefaces. que son clases java con una estructura de lista de objetos predeterminados para fácil uso en JSF.


Una alternativa que nos brinda primefaces como paquete de widgets JSF es la opción de crear un objeto primefaces dinámico con x componentes desde la capa de negocio. esta opción nos da la facilidad de hacer mas dinamismo sobre la capa de presentación sin limitarnos a los servicios que los componentes fabricados nos brindan.




El código en el managedBean para crear el componente seria:




  1.     /*
         * Crea componente primefaces desde codigo java y devuelve al componente
         *  primefaces xhtml en su propiedad binding
         */
        private TabView tabView;

        public void setTabView(TabView tabView) {
            this.tabView = tabView;
        }

        public TabView getTabView() {
            FacesContext fc = FacesContext.getCurrentInstance();
            tabView = (TabView) fc.getApplication().createComponent("org.primefaces.component.TabView");

            // cargar la lista de objetos para tabview
            List liscaldimensional = new ArrayList();
            liscaldimensional = ejbFacadeCalidadDimensional.findAll();

            //Se crean dinamicamente las tabs y en su contenido, unas cajas de texto
            for (CalidadDimensional sub : liscaldimensional) {
                Tab tab = new Tab();
                tab.setTitle(sub.getCalidadDimensional());
                Random randomGenerator = new Random();
                int total = 4;
                for (int i = 0; i < total; i++) {
                    InputText inputtext = new InputText();
                    inputtext.setLabel("Label");
                    inputtext.setValue("id:" + inputtext.getClientId());
                    inputtext.setOnfocus("");
                    tab.getChildren().add(inputtext);
                }
                tabView.getChildren().add(tab);
            }
            return tabView;
        }


En la pagina .xhtml

        
  1. <p:tabview binding="#{calidadDimensionalOfController.tabView}" rendered="true" 
  2. style="float: left; margin-left: 5px; margin-top: 10px; width: 500px;" />
  3. </p:tabview>

domingo, 8 de julio de 2012

Evolucion de las estructuras JAVA.

Las eficientes estructuras java vienen evolucionando de manera agil y ordenada. Grandes comunidades desarrolladoras esta inclinadas en brindar al desarrollador la facilidad en la implementacion de esas estructuras. En un caso practico para presentar, están las listas de objetos y el recorrido sobre los contenidos.


La jdk en su versión 7 nos brinda la oportunidad de usar nuevas instancias de código, de una manera practica y super facil, a buen modo, las futuras generaciones de desarrolladores les quedara muy sencillo realizar scripts de programacion y engranar grandes aplicaciones, bastara con sacar una caja de herramientas virtuales y unas interfaces multimedia y la programación iconica estara por todas partes. véase MDA


Primefaces, un paquete de widgets para el framework JSF, usa en sus modelos estas implementaciones a tal agilidad que con solo pasar la lista a un componente este se encarga de recorrerla y validarla.  



  1. <p:dataList value="#{miBeanController.milistadeobjetos}" 
  2. var="objeto" type="ordered">  
  3.     #{objeto.propiedad}, #{objeto.propiedad2}  
  4. <p:dataList>


private List milistadeobjeto; 
milistadeobjetos = new ArrayList(); //es muy importante inicializar las listas de objetos a tipos array list para evitar desbordamientos por falta de ...


Para recorrer estas listas basta con:

  1. Private List milistadeobjetos;
  2. milistadeobjetos = new ArraList();

  3. for(MiObjeto x : milistadeobbjetos){ FacesContext.getCurrentInstance().addMessage(nullnew FacesMessage(FacesMessage.SEVERITY_INFO,"Mensaje""Objeto: "+getPropiedadDeObjeto());  
  4. }
  5.     

Cada dia se realizan depuraciones sobre las grandes librerias que conforman java, asegurando su evolucion y un largo ciclo de vida en el inicio de la era actual de las aplicaciones web.