easyui struts后台实现tree返回json数据
来源:互联网 发布:开实体店淘宝进货 编辑:程序博客网 时间:2024/05/16 17:07
首先jsp页面有一ul用于展现tree
- <ul id="trueULid"></ul>
加载tree
- <script type="text/javascript">
- $(function() {
- $('#trueULid').tree( {
- url : 'admin/HhTestTree.do'
- });
- });
- </script>
配置action
- <action name="HhTestTree" method="testTree"
- class="org.bkgd.ehome.jeeplugin.message.web.action.ActionHhMessageTypeQuery">
- <result type="json">
- <param name="root">testTreeNodes</param>
- </result>
- </action>
需要封装对象tree
- public class TestTreeNode implements Serializable {
- /**
- *
- */
- private static final long serialVersionUID = 1L;
- private String id;
- private String text;
- private String state = "open";
- private boolean checked;
- public TestTreeNode(String id, String text, String state, boolean checked) {
- this.id = id;
- this.text = text;
- this.state = state;
- this.checked = checked;
- }
- public String getId() {
- return id;
- }
- public void setId(String id) {
- this.id = id;
- }
- public String getText() {
- return text;
- }
- public boolean isChecked() {
- return checked;
- }
- public void setChecked(boolean checked) {
- this.checked = checked;
- }
- public void setText(String text) {
- this.text = text;
- }
- public String getState() {
- return state;
- }
- public void setState(String state) {
- this.state = state;
- }
- }
表结构如图
首先查询所有parentid为NONE的数据(测试数组件的ID为null)然后同时判断该节点下是否有子节点,
如果有则状态是关闭状态
当继续展开树的时候 会将该ID值传入,然后查询该节点的子节点。
action方法实现
- private List<TestTreeNode> testTreeNodes = new ArrayList<TestTreeNode>();
- private String id;// 树组件使用的ID
- public String testTree() {
- try {
- List<Map<String,Object>> list = aloneIMP.getTreeNodes(id).search().getResultList();
- for(Map<String,Object> m:list){
- //判断是否有子节点
- List<Map<String,Object>> isHasChildren = aloneIMP.getTreeChildren(null).addUserWhere(" and parentid ='"+(String)m.get("ID")+"'").search().getResultList();
- if(isHasChildren.size()==0){
- testTreeNodes.add(new TestTreeNode((String)m.get("ID"),(String)m.get("NAME"),"open",false));
- }else{
- testTreeNodes.add(new TestTreeNode((String)m.get("ID"),(String)m.get("NAME"),"closed",false));
- }
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- return SUCCESS;
- }
此方法不具公共性,是自己的一些封装实现。主要是如何进行查询节点,
getTreeNodes()的实现方法为:
- @Override
- public DataQuery getTreeNodes(String id) {
- if(id==null){
- dbQuery = DataQuery
- .init(
- query,
- "hh_message_type",
- "ID,STATE,PARENTID,NAME,TITLE").addUserWhere(" and parentid = 'NONE'");
- }else{
- dbQuery = DataQuery
- .init(
- query,
- "hh_message_type",
- "ID,STATE,PARENTID,NAME,TITLE").addUserWhere(" and parentid = '"+id+"'");
- }
- return dbQuery;
- }
getTreeChildren()的实现方法为:
- @Override
- public DataQuery getTreeChildren(DataQuery query) {
- DataQuery dbQuery = DataQuery
- .init(
- query,
- "hh_message_type",
- "ID,STATE,PARENTID,NAME,TITLE");
- return dbQuery;
- }
实现效果图为:
0 0
- easyui struts后台实现tree返回json数据
- easyui struts后台实现tree返回json数据
- easyui struts后台实现tree返回json数据
- jquery easyui tree动态加载-服务端struts返回json数据
- 服务器返回 json数据 给 easyui tree
- Struts返回JSON数据
- jquery easyui tree后台组装json
- 后台如何拼接easyUI tree格式的 json数据 构建动态树
- Struts返回Json格式数据
- struts返回json数据解析
- Struts+JQuery实现ajax并返回json数据
- json+easyUI后台传数据到前台
- 生成符合EasyUI-Tree的JSON数据
- 从后台取数据返回json数据
- easyui tree 根据后台返回的数据属性的值控制checkbox的选中状态(可不可用)
- 【easyui】combobox根据后台返回的json设置value
- EasyUI+Ajax+Json+一般处理程序实现数据的前台与后台的交互
- EasyUI+Ajax+Json+一般处理程序实现数据的前台与后台的交互
- 指针知识梳理1-变量基本定义及使用
- 在VC++中读写INI文件
- Spark源码分析之-Storage模块
- 平板电脑系统更新后文件丢失怎么办
- CI核心类
- easyui struts后台实现tree返回json数据
- nodejs+ express+jade 图片显示例子
- 彻底解决iOS7状态栏隐藏的问题(以及setStatusBarHidden:YES不起作用问题)
- EasyUI tree扩展获取实心节点
- 玩风暴英雄美服减低延迟不掉线与内测获取方式
- iOS 获取手机的型号,系统版本,软件名称,软件版本
- mini木马原理
- 误删了的硬盘文件怎样恢复呢
- fs学习笔记之输出格式