使用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. 【原】centos6.5下hadoop cdh4.6 安装

    1.架构准备:      namenode 10.0.0.2      secondnamenode 10.0.0.3      datanode1 10.0.0.4      datanode2 1 ...

  2. 《University Calculus》-chaper8-无穷序列和无穷级数-泰勒定理的证明

    泰勒定理: 证明:

  3. Matlab编程-基本命令行语句

    (1) mathlab命令行中“,”与“:”的区别: 结尾不加任何东西也会输出结果 以“,”结尾不显示变量数值,但是再次输入变量名之后可以输出变量值 以“:”结尾显示变量值 (2)    输出格式控制 ...

  4. C++Primer第5版学习笔记(一)

    C++Primer第5版学习笔记(一) 第一.二章的重难点内容        这个笔记本主要记录了我在学习C++Primer(第5版,中文版)的过程中遇到的重难点及其分析.因为第一.二章都比较简单,因 ...

  5. winform 窗体最大化 分类: WinForm 2014-07-17 15:57 215人阅读 评论(0) 收藏

    1:窗体首次加载时最大化 (1):主窗体 this.WindowState = FormWindowState.Maximized; //窗体显示中间部分,不显示窗体名称和最小化.最大化.关闭按钮   ...

  6. Java Web中资源的访问路径

    在web应用中,以“/”开头的是绝对路径,不以“/”开头的是相对路径.   在服务器端,通常都使用绝对路径.例如web.xml.struts.xml.servlet等的访问路径都是以“/”开始. 服务 ...

  7. NULL不能和任何字段比较和运算

    UPDATE dbo.PayPalPaymentInfo SET GrossAmount=TotalPrice+TaxAmount WHERE GrossAmount IS NULL --如果TaxA ...

  8. CMake高速入门

    入门基础:http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/       在 linux 下使用 CMake 构建应用程序 入门进阶:http ...

  9. python 3Des 加密

    import hashlib; from Crypto.Cipher import DES3 import base64 def create_key(sk): r=hashlib.md5(sk).d ...

  10. 高效 css 整理

    避免通用规则 请确保规则不以通用类型作为结束! 不要用标签名或 classes 来限制 ID 规则 如果规则的关键选择器为 ID 选择器,则没有必要为规则增加标签名.因为 ID 是唯一的,增加标签只会 ...