it works like this, the code will read the documents containing the container/leaf information at every refresh (#{javascript:NavigatorController.init()}), and inside of this method it builds up one the UIOutlineNavigator navigator and bind it to the LeftCore-xe:navigator
*it will read the database at every single refresh, but I do assume that the navgiator itself is not that huge......if you need a static navigator, you need to change the code and build it another way
*I do not think you can do the same thing to the container node as for the leaf node, the default onItemClick event for the xe:navigator only listens to the event for a leafnode, and when you build the node struture, you shoube notice that only the leaf node takes in a submitted value which can be captured by the Xpages Context later
*how to add leaf node, and define the submitted value:
BasicLeafTreeNode leafNode = new BasicLeafTreeNode();
leafNode.setLabel(label);
leafNode.setSubmitValue(submitValue);
leafNode.setSelected(selected);
*how to read the submitted value from backend when you click on a leafnode
ServletXSPContext context = (ServletXSPContext) JSFUtil
.getVariableValue("context");
String newSelectedNodeUNID = context.getSubmittedValue();