Estoy tratando de agregar JSF <h:commandButtons>
dinámicamente a mi página web, y hasta ahora los tengo mostrando, pero no puedo establecer la acción con parámetros, como pude en una estática página:
action="#{bean.function(parameter)}"
. (Esto es, por supuesto, utilizando EL-2.2)
Mirando a mi alrededor me parece que tengo que crear un MethodExpression
, pero esto es oscuro para mí y no he podido encontrar mucha información sobre esto. Si alguien pudiera hacer brillar una luz a través de la niebla y explicar cómo se puede hacer esto, sería muy apreciado.Comandos de comando de JSF (2.0) dinámicos - acción de conjunto con argumentos
EDIT: por lo que ahora tiene este
public void displayNode(String childName){
//lots of messy code instantiating JSF components
if(activeEmployee.getParent() != null){
HtmlCommandButton parent = new HtmlCommandButton();
HtmlOutputText parentLabel = new HtmlOutputText();
parentLabel.setId("label" + count++); //I really hate having to use count
parentLabel.setValue("Parent: ");
parent.setId("Parent" + count++);
String parentName = activeEmployee.getParent().getName();
parent.setValue(parentName);
MethodExpression expression = createMethodExpression("#{tree.displayNode('" + parentName + "')}",
null, String.class);
parent.setActionExpression(expression);
newDiv.getChildren().add(parentLabel);
newDiv.getChildren().add(parent);
}
¿No puede usar la propiedad procesada para mostrar u ocultar el botón de comando? – RajV
nah Estoy creando dinámicamente nodos de árbol con botones para mostrar otros nodos relacionados –