spring boot加thymleaf使用zTree
来源:互联网 发布:网络系统集成工程师 编辑:程序博客网 时间:2024/05/22 04:32
1,添加头文件
<link rel="stylesheet" th:href="@{/zTree/css/zTreeStyle.css}" type="text/css" /> <link rel="stylesheet" th:href="@{/zTree/css/demo.css}" type="text/css" /> <script type="text/javascript" th:src="@{/zTree/js/jquery.ztree.core.js}"></script> <script type="text/javascript" th:src="@{/zTree/js/jquery.ztree.excheck.js}"></script>
还有一个jquary文件
2.添加操作数据的js
<script type="text/javascript" th:inline="javascript" > /*<![CDATA[*/ var zNode; var setting = { check: { enable: true, chkboxType: {"Y": "", "N": ""} }, view: { dblClickExpand: false }, data: { simpleData: { enable: true } }, callback: { beforeClick: beforeClick, onCheck: onCheck } }; function getTree() { $.post("users/assignjob", function (data) { zNode = data.data; for (var i = 0; i < zNode.length; i++) { if (zNode[i].isParent == 0) { zNode[i].open = true; zNode[i].nocheck = true; } $.fn.zTree.init($("#treeDemo"), setting, zNode[i]);} }) } function beforeClick(treeId, treeNode) { var zTree = $.fn.zTree.getZTreeObj("treeDemo"); zTree.checkNode(treeNode, !treeNode.checked, null, true); return false; } function onCheck(e, treeId, treeNode) { var zTree = $.fn.zTree.getZTreeObj("treeDemo"), nodes = zTree.getCheckedNodes(true), v = ""; for (var i = 0, l = nodes.length; i < l; i++) { v += nodes[i].getParentNode().name + ":" + nodes[i].name + ","; } if (v.length > 0) v = v.substring(0, v.length - 1); var cityObj = $("#citySel"); cityObj.attr("value", v); } function showMenu() { var cityObj = $("#citySel"); var cityOffset = $("#citySel").offset(); $("#menuContent").css({ left: cityOffset.left + "px", top: cityOffset.top + cityObj.outerHeight() + "px" }).slideDown("fast"); $("body").bind("mousedown", onBodyDown); } function hideMenu() { $("#menuContent").fadeOut("fast"); $("body").unbind("mousedown", onBodyDown); } function onBodyDown(event) { if (!(event.target.id == "menuBtn" || event.target.id == "citySel" || event.target.id == "menuContent" || $(event.target).parents("#menuContent").length > 0)) { hideMenu(); } } $(document).ready(function () { getTree(); }); /*]]>*/ </script>3. html的body里面
<lable for="citySel">部门及职位</lable> <input id="citySel" type="text" readonly="true" style="width:120px;" onclick="showMenu();"/> <a id="menuBtn" href="#" onclick="showMenu(); return false;">select</a>
<div id="menuContent" class="menuContent" style="display:none; position: absolute;"> <ul id="treeDemo" class="ztree" style="margin-top:0; width:180px; height: 300px;"></ul> </div>
4.Dao
package com.example.demo.Repository;import com.example.demo.domain.Department;import com.example.demo.domain.User;import org.apache.ibatis.annotations.Mapper;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;import java.util.List;import java.util.Set;/** * @Author :zhanglu * @Description: * @Date :Created in 13:59 2017/11/6 * @Modified By: */@Mapperpublic interface UserRepository { @Select("SELECT * FROM t_user WHERE username= #{username}") User findByName(@Param("username") String username); @Select("SELECT * FROM t_user WHERE NAME = #{id}") User findById(@Param("id") Integer id); @Select("select r.rolename from t_user_role u,t_role r where r.id=u.role_id and u.user_id=#{id}") Set<String> findRoleNameByUserId(Integer id); @Select("select d.id id,d.parent_did pId,d.department_name name from department d") List<Department> selectHeadquarters(); void updateUser(User user);}
4 遇到的问题
1)ncaught ReferenceError: jQuery is not defined
这个是jquary没有写在其他js文件前面的问题
2)只显示一个数据
function getTree() { $.post("users/assignjob", function (data) { zNode = data.data; for (var i = 0; i < zNode.length; i++) { if (zNode[i].isParent == 0) { zNode[i].open = true; zNode[i].nocheck = true; } $.fn.zTree.init($("#treeDemo"), setting, zNode[i]);} }) }
上面这个函数跳出循环后只传了一个参数
3)没有显示父节点
是因为后台自己在controle里面调试的时候,debug里面显示的pId,然后传值过去前端的时候显示的就是pid,问了大神说后台传值是传的pId,前段接受的就是小写了。大神说不可能。mmp,我当时一脸懵比。原来是后端调用的get,set方法问题
package com.example.demo.domain;import lombok.Data;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;/** * @Author :zhanglu * @Description: * @Date :Created in 16:05 2017/11/15 * @Modified By: */@Entity@Table(name = "department")public @Dataclass Department { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private int id; private String name; private int pId; private int isParent; public int getpId() { return pId; } public void setpId(int pId) { this.pId = pId; }}
以前用的是@Data自动生成set,get方法。我的pId是第二个字母大写,比较特殊,所以生成方法时会出错。重写方法就可以了。要查看注解为我们生成的方法用逆向生成代码,查class。
阅读全文
0 0
- spring boot加thymleaf使用zTree
- Spring Boot Shiro 权限信息缓存处理,记住我,thymleaf使用shiro标签
- Spring Boot Shiro 权限信息缓存处理,记住我,thymleaf使用shiro标签
- thymleaf 使用
- thymleaf标签使用
- spring boot mybatis 加事务
- spring-boot rest 加jsp页面
- spring-boot rest 加jsp页面
- 开始使用Spring Boot
- Spring Boot 使用
- spring-boot 使用log4j
- spring boot 使用@ConfigurationProperties
- spring boot使用redis
- 为什么使用spring boot
- Spring Boot Profile使用
- spring boot使用redis
- Spring Boot 使用JdbcTemplate
- III. 使用Spring Boot
- Filter一些需要注意的问题
- 软件调试笔记5
- 怎样获得你的系统中使用的C++标准库的版本
- JavaWeb常用功能Exce导出
- python代码在linux和windows运行不一致问题
- spring boot加thymleaf使用zTree
- 2.6 应用举例
- Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
- linux kmalloc fail info
- http常见的状态码代表的含义
- 基于Hadoop分布式集群YARN模式下的TensorFlowOnSpark平台搭建
- 内向交货单 VL31N
- ROS 服务 消息传递
- 小程序点击跳转页面