easyui-tree中的url属性请求struts2的json数据

来源:互联网 发布:淘宝怎么制作图片 编辑:程序博客网 时间:2024/05/19 20:40

如果你对struts2返回json数据熟悉的话,这里只要注意一点,就是要注意返回的格式,要按照easyui定义的格式


如果你对struts2返回json数据不熟悉或没有用struts2框架提供的方法的话,可以参考以下这几篇文章


《struts2 从action中返回json格式数据:》

《深入了解Struts2返回JSON数据的原理及具体应用范例》

《ajax请求struts2 中的action》




easyui-tree中的url请求的数据格式(也即后台返回的json数据一定要按照这种格式才能正确解析

举例如下

树形菜单的数据格式:每个节点都拥有以下属性:    id:节点id,对载入远程数据很重要。    text:显示在节点的文本。    state:节点状态,'open' or 'closed',默认为'open'。当设置为'closed'时,拥有子节点的节点将会从远程站点载入它们。    checked:表明节点是否被选择。    attributes:可以为节点添加的自定义属性。    children:子节点,必须用数组定义。示例代码:    [{    "id":1,    "text":"Folder1",    "iconCls":"icon-save",    "children":[{    "text":"File1",    "checked":true    },{    "text":"Books",    "state":"open",    "attributes":{    "url":"/demo/book/abc",    "price":100    },    "children":[{    "text":"PhotoShop",    "checked":true    },{    "id": 8,    "text":"Sub Bookds",    "state":"closed"    }]    }]    },{    "text":"Languages",    "state":"closed",    "children":[{    "text":"Java"    },{    "text":"C#"    }]    }]
具体的格式说明可参考网址

easyui-tree格式说明

在后台action中这样写

public List<Map<String,Object>> getListJsonTerminals(){logger.info("get ListTerminal");return this.listJsonTerminals;}public String getTerminalList(){listTerminal =  gpsDataService.getTerminalList();terminalMap = new HashMap<String,Object>();listJsonTerminals = new ArrayList<Map<String,Object>>();for(int i=0;i<listTerminal.size();i++){terminalMap.put("id", i+1);terminalMap.put("text",listTerminal.get(i).getTerminalId());listJsonTerminals.add(terminalMap);}return "terminal";}
struts.xml中这样写

<action name="getTerminalList" class="com.action.GetGpsDataAction" method="getTerminalList"><result name="terminal" type="json"><span style="white-space:pre"></span><param name="root">listJsonTerminals</param> </result></action>
前台这样写

   <ul id="ul-carTree" class="easyui-tree" data-options="   onContextMenu:function(e,node)   {   e.preventDefault();   $('#carMenu').menu('show',{left:e.pageX,top:e.pageY);   },   onClick:function(node)   {   alert(node.text);   },   url:'getTerminalList',   method:'get'   ">   </ul>




0 0
原创粉丝点击