使用spring mvc 注解 异步加载一棵树

jsp:

<ul id="orgInfoTree"></ul>   
    $(function(){
loadOrgTree();
}); function loadOrgTree(){
$('#orgInfoTree').tree({
checkbox: true,
lines:true,
url: '<%=request.getContextPath()%>/FNCG_PD_QRY/loadOrgTree', 这是第一次加载树的url 加载根节点
onBeforeExpand:function(node){
$("#orgInfoTree").tree('options').url='<%=request.getContextPath()%>/FNCG_PD_QRY/loadOrgChildrenTree?FID='+node.id; 这是点击根节点的时候发送请求去加载子节点
},
onClick:function(node){
$("#orgInfoTree").tree('options').url='<%=request.getContextPath()%>/FNCG_PD_QRY/loadOrgChildrenTree?FID='+node.id;
}
});
}

java代码部分

  controller部分: 

    @RequestMapping("/loadOrgTree")
@ResponseBody
public String loadOrgTree(){
List<OrgTree> OTList = fncg_PD_QRY_Service.loadOrgTree();
StringBuffer sb = new StringBuffer();
sb.append("[");
for (OrgTree orgTree : OTList) {
sb.append("{\"id\":" + orgTree.getORGN_CODE() + " ,\"text\":" + "\""
+ orgTree.getORGN_NAME() + "\"" + " ,\"state\":"
+ " \"closed\" " + " ,\"attributes\":" + "\""
+ orgTree.getORGN_LVL() + "\"" + "},");
}
sb.deleteCharAt(sb.length() - );
sb.append("]");
return sb.toString();
} @RequestMapping("/loadOrgChildrenTree")
@ResponseBody
public String loadOrgChildrenTree(String FID){
List<OrgTree> OTList = fncg_PD_QRY_Service.loadOrgChildrenTree(FID);
StringBuffer sb = new StringBuffer();
sb.append("[");
for (OrgTree orgTree : OTList) {
sb.append("{\"id\":" + orgTree.getORGN_CODE() + " ,\"text\":" + "\""
+ orgTree.getORGN_NAME() + "\"" + " ,\"state\":"
+ " \"closed\" " + " ,\"attributes\":" + "\""
+ orgTree.getORGN_LVL() + "\"" + "},");
}
sb.deleteCharAt(sb.length() - );
sb.append("]");
return sb.toString();
}

  service部分:

    public List<OrgTree> loadOrgTree(){
return fncg_PD_QRY_Dao.loadOrgTree();
} public List<OrgTree> loadOrgChildrenTree(String FID){
return fncg_PD_QRY_Dao.loadOrgChildrenTree(FID);
}

  

  dao部分:

    public List<OrgTree> loadOrgTree();

    public List<OrgTree> loadOrgChildrenTree(@Param("FID") String FID);

  

  xml,接口对应的sql部分

    <select id="loadOrgTree" resultMap="com.cvicin.products.productManage.fngg.mapper.poRes.OrgTree">
SELECT B.ID AS ID,B.ORGN_CODE AS ORGN_CODE,B.F_ORGN_ID AS F_ORGN_ID,B.ORGN_NAME AS ORGN_NAME,B.ORGN_LVL AS ORGN_LVL FROM ORGN_BASIC B WHERE B.ORGN_LVL = (SELECT min(A.ORGN_LVL) FROM ORGN_BASIC A)
</select> <select id="loadOrgChildrenTree" parameterType="java.lang.String" resultMap="com.cvicin.products.productManage.fngg.mapper.poRes.OrgTree">
SELECT B.ID AS ID,B.ORGN_CODE AS ORGN_CODE,B.F_ORGN_ID AS F_ORGN_ID,B.ORGN_NAME AS ORGN_NAME,B.ORGN_LVL AS ORGN_LVL FROM ORGN_BASIC B WHERE B.F_ORGN_ID = #{FID,jdbcType=VARCHAR}
</select>

javaBean和对应的xml:

public class OrgTree extends BasePO{

    private int ID;
private String ORGN_CODE;
private String F_ORGN_ID;
private String ORGN_NAME;
private String ORGN_LVL; public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
public String getORGN_CODE() {
return ORGN_CODE;
}
public void setORGN_CODE(String oRGN_CODE) {
ORGN_CODE = oRGN_CODE;
}
public String getF_ORGN_ID() {
return F_ORGN_ID;
}
public void setF_ORGN_ID(String f_ORGN_ID) {
F_ORGN_ID = f_ORGN_ID;
}
public String getORGN_NAME() {
return ORGN_NAME;
}
public void setORGN_NAME(String oRGN_NAME) {
ORGN_NAME = oRGN_NAME;
}
public String getORGN_LVL() {
return ORGN_LVL;
}
public void setORGN_LVL(String oRGN_LVL) {
ORGN_LVL = oRGN_LVL;
} }
    <resultMap id="OrgTree" type="com.cvicin.products.productManage.OrgTree">
<result property="ID" column="ID" />
<result property="ORGN_CODE" column="ORGN_CODE" />
<result property="F_ORGN_ID" column="F_ORGN_ID" />
<result property="ORGN_NAME" column="ORGN_NAME" />
<result property="ORGN_LVL" column="ORGN_LVL" />
</resultMap>

一颗无刷新的,异步加载的tree

spring mvc easyui tree 异步加载树的更多相关文章

  1. jquery easyui tree异步加载子节点

    easyui中的树可以从标记中建立,也可以通过指定一个URL属性读取数据建立.如果想建立一棵异步树,需要为每个节点指定一个id属性值,这样在加载数据时会自动向后台传递id参数. <ul id=& ...

  2. MVC4中EasyUI Tree异步加载JSON数据生成树

      1,首先构造tree接受的格式化数据结构MODEL /// <summary> /// 定义EasyUI树的相关数据,方便控制器生成Json数据进行传递 /// </summar ...

  3. ztree异步加载树节点

    参考文档:https://www.cnblogs.com/tenWood/p/8620708.html ztree api地址:http://www.treejs.cn/v3/api.php 说明:j ...

  4. Jquery Ztree异步加载树

    1. 下载jquery的JS文件/ztree的CSS文件和JS文件 https://jquery.com/download/ https://gitee.com/zTree/zTree_v3/tree ...

  5. easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题

    在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...

  6. bootstrap异步加载树后样式显示问题

    整个过程: 1.先加载整个页面 2.通过jquery异步请求后台返回数据 3.循环遍历数据,拼接需要的内容 4.把拼接好的数据加载到页面中. 问题: 把拼接好的内容加载到页面后,样式显示不正确.而如果 ...

  7. EasyUI实现异步加载tree(整合Struts2)

    首先jsp页面有一ul用于展现Tree <ul id="mytree"></ul> 加载Tree <script type="text/ja ...

  8. ContextLoaderListener和Spring MVC中的DispatcherServlet加载内容的区别

    一:ContextLoaderListener加载内容 二:DispatcherServlt加载内容 ContextLoaderListener和DispatcherServlet都会在Web容器启动 ...

  9. ContextLoaderListener和Spring MVC中的DispatcherServlet加载内容的区别【转】

    原文地址:https://blog.csdn.net/py_xin/article/details/52052627 ContextLoaderListener和DispatcherServlet都会 ...

随机推荐

  1. HDOJ1518Square 深搜

    Square Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  2. Torque2D MIT 学习笔记(27) ---- ImageFont的使用以及字体ImageAsset的工具生成

    前言 ImageFont继承于SceneObject,是一个场景对象,支持例如旋转,缩放,移动加速度以及物理碰撞等一切Torque中场景对象的一切功能. ImageFont只支持ASCII编码表中的3 ...

  3. 为xampp 安装pear db (database) 模块

    pear channel-update pear.php.netpear install db

  4. hive UDAF源代码分析

    sss /** * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license a ...

  5. php类获取静态变量值以及调用

    <?php class Test{ public static $static_var = 20; } echo Test::$static_var;exit;

  6. 【题解】警位安排( 树形 DP)

    [题目描述]一个重要的基地被分成了 n 个连通的区域 , 出于某种原因 , 这个基地以某一个区域为核心,呈一树形分布.在每个区域里安排警卫的费用是不同的,而每个区域的警卫都可以望见其相邻的区域 .如果 ...

  7. 用Autohotkey让powerpoint幻灯片一直播放

    有台电脑专门接了个大电视循环播放一个幻灯片,但是有时候会弹出一些对话框,比如windows要更新之类的,这样的话powerpoint就不是active的进城了,这样幻灯片就会停下来,还需要人去手动点一 ...

  8. myeclipse一些技巧

    ctrl+h-----------------查找字符串 ctrl+A 全选→ctrl+shift+f 代码格式化,排版 ctrl+shift+O  自动引用

  9. iOS 高仿:花田小憩3.0.1

    前言 断断续续的已经学习Swift一年多了, 从1.2到现在的2.2, 一直在语法之间徘徊, 学一段时间, 工作一忙, 再捡起来隔段时间又忘了.思来想去, 趁着这两个月加班不是特别多, 就决定用swi ...

  10. iOS AppIcon + launchImage+iPhone 屏幕分辨率相关知识

    本文主要包含不同iOS 版本的尺寸,分辨率,以及appIcon,launchImage 对不同iOS 版本的适配问题 以下是主要主要的参考资料 https://developer.apple.com/ ...