Pregunta

Necesito determinar el IDENTIFICADOR de un campo de formulario desde dentro de una acción de controlador.El campo es una parte de un incluidas facelets componente y por lo que la forma puede variar.

incluido.xhtml

<ui:component>
  <h:inputText id="contained_field"/>
  <h:commandButton actionListener="#{backingBean.update}" value="Submit"/>
</ui:component>

example_containing.xhtml

<h:form id="containing_form">
  <ui:include src="/included.xhtml"/>
</h:form>

¿Cómo puedo determinar el IDENTIFICADOR de la forma en la update método en tiempo de ejecución?O mejor aún, el ID del campo de entrada directamente.

¿Fue útil?

Solución

Enlazar el botón de copia de frijol, a continuación, utilizar getParent() hasta que encuentre el más cercano a la forma.

Otros consejos

Mediante programación me gustaría utilizar jsight del método.Usted puede conocer la identificación de sus elementos (a menos que usted deje de JSF crear ellos, no sé los medios para la numeración en el ids) por mirarlo.h:la forma es un contenedor de nombres, así como no lo tiene envuelto en otro contenedor de nombres será containingForm:containedfield El ':' es la denominación separador por defecto es JSF y los identificadores se creó como este, aproximadamente, de todos modos, (parentNamingContainerId:)*componentId

Desde el método de actualización es de tipo actionListener, usted puede acceder a su componente de interfaz de usuario de la siguiente manera

public void update(javax.faces.event.ActionEvent ac) {
      javax.faces.component.UIComponent myCommand = ac.getComponent( );
      String id = myCommand.getId(); // get the id of the firing component

      ..... your code .........

}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top