开发笔记

1.nui-treegrid列想要编辑,必须是allowCellSelect="true"。

2.java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
jdbc.properties中useSSL设置为了true,改为false即可。

3.MySQL8.0的my.ini位置:C:\ProgramData\MySQL\MySQL Server 8.0(ProgramData是隐藏文件夹)

4.redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool
redis没有启动,cmd切换到在redis所在文件夹,执行:redis-server --service-install redis.windows-service.conf --loglevel verbose 增加redis服务,设为自动启动。

5.nutz页面设置操作权限
<%if(so.hasPermission("sysrole.saveOrUpdate")){%>
    <div>...</div>
<%}%>

6.nutz操作权限
@RequiresPermissions("sysrole.saveOrUpdate")
@AutoCreateMenuAuth(permission = "sysrole.saveOrUpdate", parentPermission = "sysrole.index")
//顶级没有实际页面的菜单权限可任意,下级菜单parentPermission为上级菜单的permission。
//实际操作如CRUD的parentPermission为列表permission

7.nutz自带的查询条件
Cnd.where("c_is_valid", "=", 0); 字段可以是实体属性也可以是表字段,为方便和参数区分使用表字段(带_的)。

8.mysql查询工作空间的表名和表注释。
Select table_name 表名,TABLE_COMMENT 表注释 from INFORMATION_SCHEMA.TABLES Where table_schema = 'nutzfw-dev'

9.nutz字符型主键加 @Name,传参用int或long;数值型主键加 @Id,传参用String。否则会报错!

10.Duplicate entry '33382-1-0' for key xxx
主键唯一性约束异常

11.nutz出问题时,console即使没报错,warning也需要查看。

12.nutz调用url,get请求就要 @GET,post请求 @POST。

13.NutzFw项目的ajax请求:
core.postJSON("/itemtask/updateNodeSort", {itemNodes:JSON.stringify(data)});

14.玩转nui的api。
nui的api没有的东西(参数、方法),可到nui开发参考手册查看,没准就有你要的答案(^U^)ノ~YO。
实在都没找到,可到nui-min.js中找(开源项目就得看源代码丫)。

15.nui所有事件名称可在nui-min.js的mini._ParseString中找。

16.layui动态生成复选框不要设置field,否则会出现编辑框。
{field:'',type:'checkbox'},

17.layui监听table中的复选框。
table.on("checkbox(tableId)", function (obj) {
            var data = obj.data;
            if (obj.checked) {
                alert(data.id);
            }
        });

18.layui删除多行(dom和cache)
case 'batchDelete'://删除
    var tableDT = table.cache.buttonList;//1获取之前编辑过的全部数据,前提是编辑数据是要更新缓存,buttonList 为表格的id
    var data = layui.table.checkStatus('tableId').data;//2获取选中数据
    if(data.length<=0){
        layer.msg('最少选择一行');
        return;
    }

    //方法一:遍历缓存列表,将非选中的按钮信息对象存入数组中,然后表格重载此数组(非选中的存入数组)
    // var tableArr = [];
    // for (var i = 0; i < tableDT.length; i++) {//遍历表格缓存数组
    //     var btnObj=tableDT[i];
    //      if(!btnObj.LAY_CHECKED){//条件:非选中
    //         tableArr.push(btnObj);//把未选中的按钮信息对象存入数组中
    //     }
    // }

    //方法二:遍历缓存列表,将选中的按钮信息删除(选中的删除)
    var tableArr = [];
    for (var i = 0; i < tableDT.length; i++) {//遍历表格缓存数组
        var btnObj = tableDT[i];
        if (btnObj.LAY_CHECKED) {//条件:选中
        tableDT.splice(i, 1);//移除后后造成数组下标索引发生变化,所以下面需要i--
        i--;
        }
    }
    tableArr = tableDT;

    table.reload("buttonList", {
        data: tableArr   // 将新数据重新载入表格
    });

    break;

19.java生成唯一标识。
String id= UUID.randomUUID().toString();
out:46049c6d-282e-434b-9c16-025c91ddd23d

20.nutz使用变量作为sql中的表名。
java:
HashMap data = new HashMap(2);
data.put("t", object);

xml中的sql:
CREATE TABLE ${t.tableName} ...

21.eclipse修改类和方法注释:
Java->Code Style->Code Templates->Comments
Types:类
Methods:方法
${user}:系统用户名
${tags}:参数和返回值
/**
 *@Description:
 *@author: wxg
 *@date: ${date} ${time}
 * ${tags}
 */

22.使用removeAttr()后再在同一元素用attr()无效,得用prop()。

23.tomcat部署多个java web项目,需要在项目web.xml中加不同的webAppRootKey。否则默认为相同的,只会编译一个!
<context-param> 
     <param-name>webAppRootKey</param-name> 
     <param-value>erpFrame.root</param-value> 
</context-param>

24.MessageFormat.format格式化字符串,int类型超过3位会自动加","分割。
java.text.MessageFormat.format("varchar({0}) DEFAULT {1}",len+"","");

25.layui给表格行数据赋值后刷新当前行:obj.update(data)。

26.nutz分页的pageNumber=0表示不分页!

27.js中json转数组直接调用函数:eval(json);

28.注解联合索引(验证唯一) @TableIndexes({@Index(name = "fieldName_unique",fields = {"fieldName","delFlag"})})

29.nutz自定义sql赋值NULL会报错,可用 @NULL进行转义。

30.ItemNode node = dao.insert(itemNode); //insert可以返回其自增的主键ID

31.nutz的自定义sql参数${param}不会转义,要转义用 @param。

32.nui.tree可以通过tree.filter(function (node) {return true;}来过滤掉不需要显示的节点。
此方法是自下而上的,即先取到子节点后取到其父节点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值