我正在使用 Primefaces 4.0,并且我有一个<p:tree>
可编辑的节点标签:
<p:tree id="treeSingle" dynamic="true"
value="#{treeController.treeRoot}" var="node"
selectionMode="single" selection="#{treeController.selectedNode}">
<p:treeNode>
<p:inplace editor="true" event="dblclick">
<p:ajax event="save" listener="#{treeController.onSaveNodeLabel}" update="@this" />
<p:inputText value="#{node.label}" />
</p:inplace>
</p:treeNode>
</p:tree>
我想要做的是在用户修改 #{node.label} 值时保存它。
listener="#{treeController.onSaveNodeLabel}"
调用应该保存修改后的TreeNode
标签的方法。所以我在我的treeController
课堂上创建了这个方法:
public void onSaveNodeLabel(AjaxBehaviorEvent event) {
logger.info("onSaveNodeLabel");
Inplace inplace = (Inplace)event.getSource();
UITreeNode uiTreeNode = (UITreeNode) inplace.getParent();
// What next?
}
问题:AjaxBehaviorEvent
允许我访问org.primefaces.component.tree.UITreeNode但不能访问保存我的数据的org.primefaces.model.TreeNode 。有解决方案TreeNode
吗AjaxBehaviorEvent
?谢谢!