Salve,
sto utlizzando la libreris RichFaces per la generazione di un albero in una pagina JSP. L'albero viene generato correttamente, ma ciò che non riesco a far funzionare è la selezione di un nodo... cioè, quando clicco su un nodo dovrebbe partire il metodo processSelection ma ciò non avviene. Questo è il codice che utilizzo:
Codice PHP:
<rich:tree style="width:300px" nodeSelectListener="#{SimpleTreeBean.processSelection}"
reRender="selectedNode" ajaxSubmitSelection="true" switchType="client"
value="#{SimpleTreeBean.treeNode}" var="item">
</rich:tree>
<h:outputText escape="false" value="Selected node: #{SimpleTreeBean.nodeTitle}" id="selectedNode" />
E questo è il mio bean:
Codice PHP:
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.faces.FacesException;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import org.richfaces.component.UITree;
import org.richfaces.component.UITree;
import org.richfaces.event.NodeSelectedEvent;
import org.richfaces.model.TreeNodeImpl;
import org.richfaces.event.NodeSelectedEvent;
import org.richfaces.model.TreeNode;
import org.richfaces.model.TreeNodeImpl;
public class SimpleTreeBean {
private TreeNode<String> rootNode = null;
private String nodeTitle = "prova";
private static final String DATA_FILE = "data-tree.properties";
public SimpleTreeBean(){
}
private void addNodes(String path, TreeNode<String> node, Properties properties) {
...
}
private void loadTree(){
...
}
public TreeNode getTreeNode(){
if(rootNode==null){
loadTree();
}
return rootNode;
}
public void processSelection(NodeSelectedEvent event){
UITree tree =(UITree)event.getComponent();
nodeTitle = (String)tree.getRowData();
}
public String getNodeTitle(){
return nodeTitle;
}
public void setNodeTitle(String nodeTitle){
this.nodeTitle = nodeTitle;
}
}
Qualcuno può aiutarmi? O magari suggerirmi una soluzione alternativa...