Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Primefaces ajax listner未在树组件中的select事件上调用_Java_Google App Engine_Jsf 2_Primefaces - Fatal编程技术网

Java Primefaces ajax listner未在树组件中的select事件上调用

Java Primefaces ajax listner未在树组件中的select事件上调用,java,google-app-engine,jsf-2,primefaces,Java,Google App Engine,Jsf 2,Primefaces,我使用primefaces Tree Componemt作为导航器,它通过基于节点选择的ajax调用加载中心/主要内容。 当我通过Eclipse运行代码时,代码运行良好,但当我在部署到Google App Engine后尝试使用相同的代码时,appengine上根本不会调用nodeSelect事件listner 菜单.xhtml <h:form id="adminForm" styleClass="formStyle"> <p:growl id="adminMessag

我使用primefaces Tree Componemt作为导航器,它通过基于节点选择的ajax调用加载中心/主要内容。 当我通过Eclipse运行代码时,代码运行良好,但当我在部署到Google App Engine后尝试使用相同的代码时,appengine上根本不会调用nodeSelect事件listner

菜单.xhtml

<h:form id="adminForm" styleClass="formStyle">
    <p:growl id="adminMessage" showDetail="true" />
    <p:tree value="#{adminMenuBean.root}" var="node"
        selectionMode="single" >
        <p:ajax event="select" listener="#{adminMenuBean.onNodeSelect}"
             process="@this" update=":main" dynamic="true"/>
        <p:treeNode id="adminTreeNode">
            <h:outputText value="#{node}" id="lblNode" />
        </p:treeNode>
    </p:tree>
</h:form>
我的项目依赖关系

  • Primefaces 3.4
  • JDK1.6
  • JSF2.0
  • Appengine SDK版本1.7.4

  • 我在primefaces的3.4版中遇到了一个问题 通过升级到3.5,我的问题得到了解决。
    对于您来说,情况可能也是如此:)

    尝试删除immediate=“true”。你使用此btw的原因是什么?是的,我会再次尝试删除它。我尝试过删除它,但仍然没有进展。你检查过浏览器控制台吗?@Farnsbert浏览器控制台中没有任何内容我也尝试过primefaces 3.5和3.0,但没有成功。你可以在我上传到app engine的以下链接中看到行为(如本演示所示)
    @ManagedBean(name = "adminMenuBean")
    @SessionScoped
    public class AdminMenuBean implements Serializable {
    
    private static final long serialVersionUID = 1L;
    private static final Logger log = Logger.getLogger(AdminMenuBean.class
            .getName());
    
    private String name;
    private String caddress;
    private Date dob;
    private Long mobileno;
    private double uniqueno = 0;
    
    private String navigationUrl = "UserRequest";
    
    private TreeNode root;
    
    public TreeNode getRoot() {
        return root;
    }
    
    public AdminMenuBean() {
        root = new DefaultTreeNode("root", null);
    
        TreeNode admin = new DefaultTreeNode("Admin", root);
        TreeNode UserRequest = new DefaultTreeNode("User Request", admin);
        TreeNode ManageUser = new DefaultTreeNode("Manage User", admin);
    
        TreeNode DocumentManagement = new DefaultTreeNode(
                "Document Management", root);
    }
    
    public String getName() {
        return name;
    }
    
    public void setName(String name) {
        this.name = name;
    }
    
    public String getCaddress() {
        return caddress;
    }
    
    public void setCaddress(String caddress) {
        this.caddress = caddress;
    }
    
    public Date getDob() {
        return dob;
    }
    
    public void setDob(Date dob) {
        this.dob = dob;
    }
    
    public Long getMobileno() {
        return mobileno;
    }
    
    public void setMobileno(Long mobileno) {
        this.mobileno = mobileno;
    }
    
    public double getUniqueno() {
        uniqueno = uniqueno + Math.random();
        return uniqueno;
    }
    
    public void setUniqueno(double uniqueno) {
        this.uniqueno = uniqueno;
    }
    
    public String getNavigationUrl() {
        return navigationUrl;
    }
    
    public void setNavigationUrl(String navigationUrl) {
        this.navigationUrl = navigationUrl;
    }
    
    public void onNodeSelect(NodeSelectEvent event) {
        log.info("node select"+ navigationUrl);
        if (event.getTreeNode().getParent().toString() != "root"
                || event.getTreeNode().getData().toString() == "Document Management") {
            String url = event.getTreeNode().getData().toString();
            try {
                url = url.replaceAll(" ", "");
                System.out.println("url-->" + url);
                this.setNavigationUrl(url);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    }