title: <rich:tree> Example reRender not working Richfaces 3.3.4 final
body: <p>i'm using Richfaces 3.3.4 final with JSF 1.2 on a SAP NetWeaver AS 7.31.</p>
  
  <p>Now im facing some Issues with dynamically showing selected Nodes from a rich:tree in a h:outputText. The selectedNodeListener is invoked correctly and the Name of the Node is saved in a String, but my h:outputText only refreshes on Page Refresh and not on Selection like in the Example from the Showcases(<a href="http://showcase-rf3.richfaces.org/richfaces/tree.jsf?tab=model&amp;cid=26981" rel="nofollow">http://showcase-rf3.richfaces.org/richfaces/tree.jsf?tab=model&amp;cid=26981</a>).</p>
  
  <p>Does anyone know if this is a common Issue with the above Setup or am I just missing something? As far as I know SAP NetWeaver isnt in the List of supported Servers but its JEE5 compliant. Could this be the Reason?</p>
  
  <p>I simplified the Example from the Richfaces Showcases to reproduce the Problem in a small Environment. Here is some Code:</p>
  
  <p>SimpleTreeBean.java</p>
  
  <pre><code>import java.util.ArrayList;  
  import java.util.Iterator;  
  import java.util.List;  
  import java.util.Map;  
  
  import org.richfaces.component.html.HtmlTree;  
  import org.richfaces.event.NodeSelectedEvent;  
  import org.richfaces.model.TreeNode;  
  import org.richfaces.model.TreeNodeImpl;  
  
  public class SimpleTreeBean {  
      private TreeNode rootNode = null;  
      private List&lt;String&gt; selectedNodeChildren = new ArrayList&lt;String&gt;();  
  
      private String nodeTitle;  
  
  
      private void loadTree() {  
              rootNode = new TreeNodeImpl();  
              TreeNodeImpl rt = new TreeNodeImpl();  
              rt.setData("Root");  
              rootNode.addChild(1, rt);  
              for(int i = 1; i &lt;= 5; i++){  
                  TreeNodeImpl child = new TreeNodeImpl();  
                  child.setData("Child "+i);  
                  rt.addChild(i, child);  
              }  
      }  
  
      public void processSelection(NodeSelectedEvent event) {  
          HtmlTree tree = (HtmlTree) event.getComponent();  
          nodeTitle = (String) tree.getRowData();  
          selectedNodeChildren.clear();  
          TreeNode currentNode = tree.getModelTreeNode(tree.getRowKey());  
          if (currentNode.isLeaf()) {  
              selectedNodeChildren.add((String) currentNode.getData());  
          } else {  
              Iterator&lt;Map.Entry&lt;Object, TreeNode&gt;&gt; it = currentNode  
                      .getChildren();  
              while (it != null &amp;&amp; it.hasNext()) {  
                  Map.Entry&lt;Object, TreeNode&gt; entry = it.next();  
                  selectedNodeChildren.add(entry.getValue().getData().toString());  
              }  
          }  
      }  
  
      public TreeNode getTreeNode() {  
          if (rootNode == null) {  
              loadTree();  
          }  
  
          return rootNode;  
      }  
  
      public String getNodeTitle() {  
          return nodeTitle;  
      }  
  
      public void setNodeTitle(String nodeTitle) {  
          this.nodeTitle = nodeTitle;  
      }  
  }  
  </code></pre>
  
  <p>test.jsp:</p>
  
  <pre><code>&lt;%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%&gt;  
  &lt;%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%&gt;  
  &lt;%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%&gt;  
  &lt;%@taglib uri="http://richfaces.org/rich" prefix="rich"%&gt;  
  
  &lt;html&gt;  
  &lt;head&gt;  
  &lt;title&gt;TestTree&lt;/title&gt;  
  &lt;/head&gt;  
  &lt;body&gt;  
  &lt;f:view&gt;  
   &lt;h:form&gt;      
          &lt;h:panelGrid columns="2" width="100%" columnClasses="col1,col2"&gt;  
  
              &lt;rich:tree style="width:300px" nodeSelectListener="#{simpleTreeBean.processSelection}"   
                  reRender="selectedNode" ajaxSubmitSelection="true"  switchType="client"  
                  value="#{simpleTreeBean.treeNode}" var="item" ajaxKeys="#{null}"&gt;  
              &lt;/rich:tree&gt;  
  
              &lt;h:outputText escape="false" value="Selected Node: #{simpleTreeBean.nodeTitle}" id="selectedNode" /&gt;  
  
          &lt;/h:panelGrid&gt;  
      &lt;/h:form&gt;  
  &lt;/f:view&gt;  
  &lt;/body&gt;  
  &lt;/html&gt;  
  </code></pre>
  
  <p>Important Part of faces-config.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;  
  
  &lt;faces-config  
      xmlns="http://java.sun.com/xml/ns/javaee"  
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"  
      version="1.2"&gt;  
      &lt;managed-bean&gt;  
          &lt;managed-bean-name&gt;simpleTreeBean&lt;/managed-bean-name&gt;  
          &lt;managed-bean-class&gt;  
              com.realcore.web.beans.SimpleTreeBean  
          &lt;/managed-bean-class&gt;  
          &lt;managed-bean-scope&gt;session&lt;/managed-bean-scope&gt;  
      &lt;/managed-bean&gt;  
  
  &lt;/faces-config&gt;  
  &lt;&lt;/faces-config&gt;/faces-config&gt;  
  </code></pre>
  
  <p>Additionally there are some Validators and Converters in my faces-config too. But I think this isnt important for this Problem.</p>
  
  <p>And here is the web.xml:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;  
  &lt;web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
      xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
      id="WebApp_ID" version="2.5"&gt;  
      &lt;display-name&gt;SstSapWEB&lt;/display-name&gt;  
      &lt;welcome-file-list&gt;  
          &lt;welcome-file&gt;index.html&lt;/welcome-file&gt;  
          &lt;welcome-file&gt;index.htm&lt;/welcome-file&gt;  
          &lt;welcome-file&gt;index.jsp&lt;/welcome-file&gt;  
          &lt;welcome-file&gt;login.jsp&lt;/welcome-file&gt;  
          &lt;welcome-file&gt;default.html&lt;/welcome-file&gt;  
          &lt;welcome-file&gt;default.htm&lt;/welcome-file&gt;  
          &lt;welcome-file&gt;default.jsp&lt;/welcome-file&gt;  
      &lt;/welcome-file-list&gt;  
  
      &lt;!-- Making the RichFaces skin spread to standard HTML controls --&gt;  
      &lt;context-param&gt;  
          &lt;param-name&gt;org.richfaces.CONTROL_SKINNING&lt;/param-name&gt;  
          &lt;param-value&gt;enable&lt;/param-value&gt;  
      &lt;/context-param&gt;  
      &lt;!-- Defining and mapping the RichFaces filter --&gt;  
      &lt;filter&gt;  
          &lt;display-name&gt;RichFaces Filter&lt;/display-name&gt;  
          &lt;filter-name&gt;richfaces&lt;/filter-name&gt;  
          &lt;filter-class&gt;org.ajax4jsf.Filter&lt;/filter-class&gt;  
      &lt;/filter&gt;  
      &lt;filter-mapping&gt;  
          &lt;filter-name&gt;richfaces&lt;/filter-name&gt;  
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;  
          &lt;dispatcher&gt;REQUEST&lt;/dispatcher&gt;  
          &lt;dispatcher&gt;FORWARD&lt;/dispatcher&gt;  
          &lt;dispatcher&gt;INCLUDE&lt;/dispatcher&gt;  
      &lt;/filter-mapping&gt;  
  
      &lt;servlet&gt;  
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;  
          &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;  
          &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;  
      &lt;/servlet&gt;  
      &lt;servlet-mapping&gt;  
          &lt;servlet-name&gt;Faces Servlet&lt;/servlet-name&gt;  
          &lt;url-pattern&gt;/faces/*&lt;/url-pattern&gt;  
      &lt;/servlet-mapping&gt;  
  &lt;/web-app&gt;  
  </code></pre>
  
  <p>This simple Example isnt working too.</p>
  
  <p>I don't know how to fix or workaround this Issue. Any help is greatly appreciated.</p>
  
  <p>Regards,</p>
  
  <p>Daniel</p>