Ich versuche, JSF <h:commandButtons>
dynamisch zu meiner Webseite hinzuzufügen, und bis jetzt habe ich sie anzeigen, aber ich kann die Aktion nicht mit Parametern einstellen, wie ich in einer statischen könnte Seite:
action="#{bean.function(parameter)}"
. (Dies ist natürlich mit EL-2.2)
Um mich zu finden finde ich, dass ich eine MethodExpression
erstellen muss, aber das ist mir unklar und ich konnte nicht viele Informationen dazu finden. Wenn jemand Licht durch den Nebel strahlen und erklären könnte, wie das gemacht werden kann, wäre es sehr zu schätzen.Dynamische JSF (2.0) commandButtons - Aktion mit Argumenten setzen
EDIT: so jetzt habe ich diese
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);
}
Können Sie die gerenderte Eigenschaft nicht zum Ein-/Ausblenden der Befehlsschaltfläche verwenden? – RajV
nah Ich bin dynamisch erstellen Baumknoten mit Schaltflächen zum Anzeigen anderer verwandter Knoten –