saschaPower
Grünschnabel
Hallo,
vorweg: ich bin Newbie in Bezug auf programmieren. Jetzt möchte ich mit Hilfe von Java und jsf ein kleines Div rendern, leider gelingt es mir nicht so wie es sollte ?
Ich habe folgende Methode, die soweit auch läuft, allerdings werden die UIComponents nicht so gerendert wie ich es möchte:
Und in der Bean Tree sind die Methoden addNewNode() (MethodBinding für OK-Button) sowie die setter/getter für das Value-Binding des Textfeldes….
Folgende Probleme habe ich:
-mit dem auskommentierten UIForm-Element wird die GUI wenigstens so gerendert wie ich möchte. Klicken auf den OK-Button bewirkt aber nur ein refresh der Seite. Das Method-Binding wird nicht ausgeführt. Kann mir vorallem da jemand weiterhelfen wieso?
-wenn ich die Kommentare rund um das form-Element wieder weg mache wird die Seite nicht einmal ordentlich gerendert….
Was ist hierfür die Ursache, was mache ich verkehrt?
Vollständigkeitshalber noch die Methoden in der Tree-Bean:
Vielleicht kann mir jemand sagen, was ich falsch mache?
Vorab danke! Gruß Sascha….
vorweg: ich bin Newbie in Bezug auf programmieren. Jetzt möchte ich mit Hilfe von Java und jsf ein kleines Div rendern, leider gelingt es mir nicht so wie es sollte ?
Ich habe folgende Methode, die soweit auch läuft, allerdings werden die UIComponents nicht so gerendert wie ich es möchte:
Java:
public void writeRenameDiv(ResponseWriter writer, String nodeUri) throws IOException
{
String divId = "RenameNode_" + nodeUri;
writer.write("<div id=\"" + divId +"\" style=\"background: #eeeeee; \">");
//
// //Form
// UIForm formTag = new UIForm();
// formTag.setId("RenameForm_" + nodeUri.replace(":", "_"));
// formTag.encodeBegin(context);
// formTag.processDecodes(context);
//
// //Textfield
UIInput nameTextField = new UIInput();
ValueBinding nameValueBinding =
FacesContext.getCurrentInstance().getApplication()
.createValueBinding("#{knowledgeAssetTree_nodes.newNodeName}");
nameTextField.setValueBinding("setNewNodeName", nameValueBinding);
//nameTextField.setParent(formTag);
nameTextField.encodeBegin(context);
nameTextField.encodeChildren(context);
nameTextField.encodeEnd(context);
//Button
UICommand okButton = new UICommand();
MethodBinding action =
FacesContext.getCurrentInstance().getApplication().createMethodBinding(
"#{knowledgeAssetTree_nodes.addNewNode}", new Class[0]);
okButton.setAction(action);
//okButton.setParent(formTag);
okButton.setId("okButton_" + nodeUri.replace(":", "_"));
okButton.setValue("OK");
okButton.encodeBegin(context);
okButton.encodeChildren(context);
okButton.encodeEnd(context);
//
// //formTag.encodeChildren(context);
// //formTag.encodeEnd(context); //end form
//
writer.write("</div>"); //end
}
Und in der Bean Tree sind die Methoden addNewNode() (MethodBinding für OK-Button) sowie die setter/getter für das Value-Binding des Textfeldes….
Folgende Probleme habe ich:
-mit dem auskommentierten UIForm-Element wird die GUI wenigstens so gerendert wie ich möchte. Klicken auf den OK-Button bewirkt aber nur ein refresh der Seite. Das Method-Binding wird nicht ausgeführt. Kann mir vorallem da jemand weiterhelfen wieso?
-wenn ich die Kommentare rund um das form-Element wieder weg mache wird die Seite nicht einmal ordentlich gerendert….
Was ist hierfür die Ursache, was mache ich verkehrt?
Vollständigkeitshalber noch die Methoden in der Tree-Bean:
Java:
public String addNewNode()
{
System.out.println("Drin");
return "failure";
}
…
public void setNewNodeName(String newName)
{
newNodeName = newName;
}
public String getNewNodeName()
{
return newNodeName;
}
Vielleicht kann mir jemand sagen, was ich falsch mache?
Vorab danke! Gruß Sascha….
Zuletzt bearbeitet von einem Moderator: