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:
- /** 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 tabviewList
liscaldimensional = new ArrayList (); liscaldimensional = ejbFacadeCalidadDimensional.findAll();//Se crean dinamicamente las tabs y en su contenido, unas cajas de textofor (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
- <p:tabview binding="#{calidadDimensionalOfController.tabView}" rendered="true"
- style="float: left; margin-left: 5px; margin-top: 10px; width: 500px;" />
- </p:tabview>
Buen Dia:
ResponderEliminarOye gracias por tu tiempo y por este post es lo que justo necesito, espero no molestarte, tengo una pregunta necesito crear varios tipos de objetos de primefaces en java pero estoy utilizando la cadena de responsabilidad mi pregunta es como puedo definir el tipo de objecto a crear en mi cadena de responsabilidad... Espero me puedas colaborar... fabio.libre@gmail.com
Hola Fabio, no entiendo bien a que te refieres, cuando dices "cadena de responsabilidad"?
ResponderEliminarAcá se invoca el tipo de objeto a crear.!
private "TabView"-->//Objeto a crear tabView;
muchas gracias por compartir, me has dado una luz
ResponderEliminar