closertb的gravatar头像
closertb 2016-09-08 22:13:06

ZTREE在SSH框架中ACTION动态获取数据为什么报错?

Ztree属性配置代码

            var setting = {
                data: {
                    simpleData: {
                        enable: true,    //设置是否使用简单数据模式(Array)
                        idKey: "treeId",    //设置节点唯一标识属性名称
                        pIdKey: "parentId"        //设置父节点唯一标识属性名称
                    },
                    key: {
                        name: "name",
                        title: "name"                
                    }
                },
                async: {
                    enable: true,//开启异步加载
                    url:"data.jsp",//设置异步获取节点的 URL 地址
                    autoParam:["treeId"]//设置父节点数据需要自动提交的参数
                },
                callback: {
                    onClick: function(event, treeId, treeNode){
                        alert(treeNode.name);
                    }
                }
            };

这是数据获取页面data.jsp

<%

    String json = "";//回传的json数据
    StatAction tree = new StatAction();     
    if(null != request.getParameter("flag"))
    {//初始化树
        json = tree.create();
        
        System.out.println("初始:" + json);
    }else
    {//异步加载树
        String treeId = request.getParameter("treeId");

        json =tree.fetchAsyTreeData(treeId);
        
        System.out.println("异步:" + json);
    }
    
    out.println(json);
%>

JAVA Action执行代码:

    public String create()
    {
        
        List<TreeBean> list = new ArrayList<TreeBean>();
        

        TreeBean tree = new TreeBean();
        tree.setTreeId("1");
        tree.setName("中国");
        tree.setIsParent(true);
        list.add(tree);
        
        JSONArray json = JSONArray.fromObject(list);
        
        return json.toString();
    }
    
    public String fetchAsyTreeData(String parentId) 
    {
        List<TreeBean> list = new ArrayList<TreeBean>();
        System.out.println("字符长度"+parentId.length());
        
    //    String teststring = testStat();
        switch(Integer.valueOf(parentId))
        {
            case 1:
                {                        
                    TreeBean tree = new TreeBean();
                    tree.setTreeId("1001");
                    tree.setName("重庆市");
                    tree.setParentId("1");
                    tree.setIsParent(true);
            。。。。。

   }

    public String testStat() 
    {    
        List statlist=statBiz.stats();  //action直接调用不报错,但从data。接视频
         for(int i=0;i<statlist.size();i++)
        {
           Stat allstat=(Stat)statlist.get(i);
           System.out.println("ID:"+allstat.getStatId()+"name:"+allstat.getStatName());                        
        }    
        System.out.println("查询完成");
        request.put("statList", statlist);
         System.out.println("开始报错");        
        return "index"; 
    }

这是一个码友给的静态显示结构树的代码,我想借鉴一下,关联显示数据的结构树;

现在问题是我单独运行testStat();能从数据获取到数据,但从data.jsp中声明的对象中运行到List statlist=statBiz.stats(); 声明这个接口时就报错。请问这是什么问题,JAVA中声明的对象和JSP中声明的对象运行有什么不同。。。。

所有回答列表(1)
closertb的gravatar头像
closertb  LV3 2016年9月9日

经过几次试验发现,确实是.jsp文件里面声明的对象调用方式和.java里面的方式不一样,所以才造成这样的错误。使用Action直接错误的方式就没有问题。话说这样,我的提问分,可以自己得嘛。。。。

评论(0) 最佳答案
最近浏览
chenzhenming  LV11 2019年4月12日
sp朱盼  LV16 2016年9月28日
lhglhglhg  LV2 2016年9月23日
luoaaa  LV5 2016年9月20日
1157826511  LV6 2016年9月19日
a24sd  LV13 2016年9月19日
kisn888  LV14 2016年9月18日
赵康子  LV3 2016年9月16日
dengji85  LV5 2016年9月14日
kaka  LV19 2016年9月14日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友