template plantillas gratis define bootstrap jsf-2

jsf 2 - plantillas - Campos de texto agregados dinámicos en JSF



ui:composition primefaces (1)

Esta pregunta fue respondida más de una vez, básicamente necesita mantener una List para todos los campos en el bean, y la elimina o agrega a esta List con sus botones. Tenga en cuenta que esto es importante para estar en ViewScoped o ViewScoped o su List se reiniciará en cada acción.

Vista:

<h:form> <h:dataTable id="tblFields" value="#{bean.fields}" var="field"> <h:column> <h:inputText value="#{field.value}" /> </h:column> <h:column> <h:commandButton value="Remove"> <f:ajax listener="#{bean.onButtonRemoveFieldClick(field)}" immediate="true" render="@form" /> </h:commandButton> </h:column> </h:dataTable> <h:commandButton value="Add"> <f:ajax listener="#{bean.onButtonAddFieldClick}" execute="@form" render="tblFields" /> </h:commandButton> </h:form>

Clase de ayuda:

public class Field implements Serializable { private String m_sName; public void setName(String p_sName) { m_sName = p_sName; } public String getName() { return m_sName; } }

Frijol :

@ManagedBean @ViewScoped public class Bean implements Serializable { private List<Field> m_lFields; public Bean() { m_lFields = new ArrayList(); m_lFields.add(new Field()); } public void setFields(List<Field> p_lFields) { m_lFields = p_lFields; } public List<Field> getFields() { return m_lFields; } public void onButtonRemoveFieldClick(final Field p_oField) { m_lFields.remove(p_oField); } public void onButtonAddFieldClick(AjaxBehaviorEvent p_oEvent) { m_lFields.add(new Field()); } }

Esta pregunta ya tiene una respuesta aquí:

Tengo una pantalla con inputText, junto a ella hay un botón (+), cuando el usuario debe presionar ese botón, el formulario debe agregar otra entrada de texto adicional a su lado (o debajo, lo que sea)

Aquí está el código:

<table> <tr> <td> <p:inputText value="#{controller.x}" /> <img src="../images/ico_plus.png" /> </td> </tr> </table>

en Controller.java:

private String x; public String getX(){return x} public void setX(String val){x = val}

Necesito que la página se rellene con varios campos y que el controlador tenga todos los valores de los campos ''captados