月份:2019年1月

Layui单选框赋值

这个赋值是从一个页面获取到数据,复制到另一个页面,常用于更新。

更新页面:

<div class="layui-form-item">
   <label class="layui-form-label">类型</label>
   <div class="layui-input-block">
      <input type="radio" name="type" value="0" title="菜单">
      <input type="radio" name="type" value="1" title="按钮">
   </div>
</div>

赋值的js:

var body = layer.getChildFrame('body', index);
body.find("input[name='type'][value='" + data.type +"']").prop('checked',true);
form.render();

FTP返回530错误(重置FTP用户密码)

最近做的上传文件到FTP服务器,发现返回了530错误,以前也没接触过,经过查找发现多半是用户名密码问题,然后登陆服务器对其重置了FTP密码,好使!

查看注册的FTP账号:

cat /etc/vsftpd/chroot_list

image.png

例如我的注册账号为ftpuser

然后重置密码,下面的ftpuser是我的用户名,换成自己的即可。

passwd ftpuser

image.png

即可。

wmanage-基于Spring Boot+MyBatis+Shiro+LayUI的后台管理系统

之前的 wAdmin-基于Spring Boot+MyBatis+Layui的后台管理系统  废弃,原因就是别人的东西改不来,都是bug,不如自己动手,哈哈哈。

经过一段时间的重构,终于可以用了,测试也没有bug,以后也会慢慢更新。

详见:Github

原系统里面树形菜单采用了jTree,整了半天也没明白,索性,自己研究了zTree,开始感觉很难,做了一段时间后,发现也就那么回事,洒洒水啦,哈哈哈。这给了我一点启发,只要学习,就会有收获。

关于shiro的之前也写了一些东西,但发现是有些错误的,随着现在学习的深入,之后会进行修改的,希望理解。毕竟是一只前进中的菜鸡。

不多说了,Go!

工具类中调用Service层

我们通常抽取很多共同的方法作为一个工具类,但是有的工具类,可能会用到Service层的方法来查找对象或者其他操作,工具类的方法是静态的,Service不能是静态,怎么办呢?下面是一种可行的办法:

直接看工具类:

/**
 * @description ...
 * @author  wujianyu
 * @email wjy329@vip.qq.com
 * @date  2019年1月18日 上午10:42:31
 */
package com.wjy329.utils;

import javax.annotation.PostConstruct;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.wjy329.service.WjyService;


@Component
public class WUtil {
	
	private static WUtil wUtil ;
	
	@Autowired
	private WjyService wjyService;
	
	@PostConstruct
	public void init() {
	    wUtil = this;
	}

    public static void function(){
      wUtil.wjyService.add();
    }

}

注意初始化时,加上  @PostConstruct  注解。这样就可以了。

zTree的使用-初始化、异步加载数据

zTree的官方网站:    http://www.treejs.cn/v3/main.php#_zTreeInfo

如何引入js和css,这里就不介绍了,直接看官方文档即可—zTree入门指南

在html中找到你要放置zTree的地方,id可变,class为ztree

<ul id="tree" class="ztree"></ul>
<script type="text/javascript">
    //加载资源树
    var t = $("#tree");
    var zNodes ;
     //zTree参数设置
    var setting = {
        treeId:"applicationTree",
        view: {
            dblClickExpand: false,
            showLine: true,
            selectedMulti: false
        },
        edit: {
            
        },
        data: {      
            simpleData: {
                enable:true
            }
        },
        callback: {
            
        }
    };
</script>

js中的其他几个为空,自己可以看文档配置

这里开启了简单的数据格式加载数据,数据格式如下

   {"id":1, "pId":0, "name":"test1"},
    {"id":11, "pId":1, "name":"test11"},
    {"id":12, "pId":1, "name":"test12"},
    {"id":111, "pId":11, "name":"test111"}

然后异步加载数据,后台返回数据格式的方法自己完成:

//页面加载
$(document).ready(function(){
    $.ajax({
        type:'post',
        url: "/perm/treeData",  //数据源
        dataType: "json",
        async: false,
        success: function (result) {
            if(result.code == "1"){
                zNodes = result.data;
                //初始化树
                t = $.fn.zTree.init(t, setting, zNodes); 
            }else{
                //layer.msg(result.info, {time: 1000, icon:2});
                console.log("error");
            }

        },
        error: function (msg) {
        }
    });
});

这样就可以加载树了

image.png