Tomcat设置jvm
1 -Xms128m -Xmx1024m -XX:MaxPermSize=512m
el表达式判断字符串是否为空
${值 eq null or 值 eq ’ '} 返回true 的话,表示为空。例:
1 test="${company.custName eq null or company.custName eq ' '}"
${empty 值} 返回true ,表示为空字符串。例:
1 test="${empty company.custNam}"
用empty方法更好,el表达式封装了
el表达式判断
==、eq、//相等
!=、ne、// 不相等(inequality)
<、lt、//小于(less than)
>、gt、//大于(greter than)
<=、le、//小于等于(less equal)
>=、ge。//大于等于(greter equal)
例子:判断传过来的值是否大等于2
1 test="${product.validity ge 2}"
MyBatis遍历集合
1 2 3 <foreach collection ="array" item ="classIds" open ="(" separator ="," close =")" > #{classIds} </foreach >
MyBatis foreach的collection参数可以是java的Array或者List
jQuery的data()方法,相比attr()更安全
访问id为test的元素 的data-name属性例子:
1 $('#test' ).data ("name" );
数据库权限问题
cmd进入mysql/bin目录下后,mysql -u root -p并输入密码登陆
grant all privileges on . to root@"%" identified by “.”; 注意root替换为报的错
flush privileges;
语法如下:
1 date_format(now(),'%Y-%m-%d %H:%i:%s' )< 结束时间
参考链接
MyBatis中小于号都要写成<大于号可以不用转
MyBatis传入参数为0被误认为是空字符串,解决方法是去掉等于0的判断
JavaScript保留两位小数方法
1 2 3 4 5 6 7 8 function toDecimal (x ) { var f = parseFloat (x); if (isNaN (f)) { return ; } f = Math .round (x*100 )/100 ; return f; }
jQuery判断checkbox是否选中的一些方法
方法一:
1 2 3 if ($("#checkbox-id" ).get (0 ).checked ) { }
方法二:
1 2 3 if ($("#checkbox-id" )[0 ].checked ) { }
方法三(建议):
1 2 3 if ($('#checkbox-id' ).is (':checked' )) { }
checkbox赋值方法
1 $("#checkbox-id" ).prop ("checked" ,true );
JavaScript页面加载前调用的一些方法
方法一:
方法二:
1 2 3 $(document ).ready (function ( ) { });
方法三:
1 2 3 if (document .readyState =="complete" ){ }
判断页面元素是否显示
参考链接
加红色样式
1 2 <font color ="red" > 测试</font > <span style ="color:red" > 测试</span >
连续数字或字母换行
1 style="word-break:break-all; width:200px; overflow:auto;"
表格内容过长时截取显示
1 <span title ="鼠标放上去显示的内容" > 实际显示的内容</span >
科学计数法格式化
Java 返回字符串:
1 2 3 4 DecimalFormat df = new DecimalFormat ();df.setMaximumFractionDigits(2 ); df.setMinimumFractionDigits(2 ); String productPrice= df.format(productViewVo.getProductPrice());
注意这种方法还需要替换","
JavaScript简单粗暴的方法 返回字符串
1 2 3 4 5 6 7 8 var formatScientificNumber = function (value ){ let result = String (value); if (result.indexOf ('-' ) >= 0 ) { result = '0' + String (Number (result) + 1 ).substr (1 ); } return result; } console .log (result);
输入框限制只能输入数字
1 onkeyup="this.value=this.value.replace(/[^\d]/g,'')"
jQuery需要用text()取span的值
jQuery获取table的所有tr以及td
1 2 3 4 5 $('#tabbleId tr' ).each (function (i ){ $(this ).children ('td' ).each (function (j ){ alert ("第" +(i+1 )+"行,第" +(j+1 )+"个td的值:" +$(this ).text ()+"。" ); }); });
MySQLl的concat_ws(sperator,str1,str2,str…)、concat()、repeat()方法
concat_ws()方法可以将两个字段的值拼接起来,它的本意是有分隔符的字符串连接。但要注意为null的情况(不然整个都会为null)
例子: 1 concat_ws(c.city_code,'' ,ifnull(c.company_address,'' ))
concat()函数可以连接一个或者多个字符串,只要一个为null就会返回Null
repeat()函数用来复制字符串,比如select repeat(‘ab’,2);//abab
MySQL删除所有表数据(不是删除数据库)
返回所有drop table语句语法:
1 2 3 SELECT concat('DROP TABLE IF EXISTS ' , table_name, ';' )FROM information_schema.tablesWHERE table_schema = 'saas_mcjd' ;
将Double类型的数据保留2位小数
1 2 3 Double a = 2.34566 ; BigDecimal bd = new BigDecimal (a); Double d = bd.setScale(2 , BigDecimal.ROUND_HALF_UP).doubleValue();
d输出就是2.35, 注意会四舍五入
将String转Double,并保留2位小数
1 2 3 4 String a = “6.145 ”; Double d= Double.parseDouble(a); DecimalFormat df = new DecimalFormat (“0.00 ”); String s = df.format(d);
s输出就是6.15,注意会四舍五入
JavaScript修改网页标题
可以在页面加载完时执行下面的代码
JavaScript比较时间大小
1 2 3 4 function CompareDate (d1,d2 ){ return ((new Date (d1.toString ().replace (/-/g ,"\/" ))) < (new Date (d2.toString ().replace (/-/g ,"\/" )))); }
页面定期刷新
JSP根据参数默认选中radio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 <tr > <td class ="va-m text-right text-dark6" width ="20%" > 是否集团审批:</td > <td colspan ="3" > <div class ="checkbox checkbox-circle mn" > <input type ="radio" name ="isApproval" id ="isApproval" value ="1" <c:if test ="${businessModeViewVo.isApproval eq 1}" > checked</c:if > /> <label class ="font-bolder" for ="isApproval" > 需要</label > </div > <div class ="checkbox checkbox-circle mn ml10" > <input type ="radio" name ="isApproval" id ="noIsApproval" value ="2" <c:if test ="${businessModeViewVo.isApproval eq 2}" > checked</c:if > /> <label class ="font-bolder" for ="noIsApproval" > 不需要</label > </div > </td > </tr >
关键代码:
1 <c:if test ="${businessModeViewVo.isApproval eq 2}" > checked</c:if >
页面元素的禁用与启用
禁用:
1 2 3 $("#id" ).attr ("disabled" ,"true" ); $("#id" ).attr ("disabled" ,true ); $("#id" ).attr ("disabled" ,"disabled" );
启用:
1 2 $("#id" ).removeAttr ("disabled" ); $("#id" ).attr ("disabled" ,false );
注意:$("#id").attr(“disabled”,“false”);不起作用,disabled只能禁用button,对超链接不起作用
handlebars 时间格式化
1 <td > {{dateFormat addTime 'YYYY-MM-DD HH:mm:ss'}}</td >
handlerbars判空,if 和unless
1 2 3 {{#if logisticsId}} <a type ="button" class ="text-button text-blue3 pr10" data-toggle ="tooltip" data-placement ="left" onclick ="seeDetail('{{logisticsId}}')" > 查看</a > {{/if}}
它是尝试去读取logisticsId属性,如果返回的为undefined、null、""、[]、false任意一个,都会导致最终结果为假。unless和if正好相反,当返回false的时候执行。
正则校验所有输入框
1 2 3 4 5 6 7 8 9 $("input[name='unitPrice']" ).each (function ( ){ var unitPrice = $(this ).val (); var reg = /^([1-9][\d]{0,7}|0)(\.[\d]{1,2})?$/ ; var reslut = unitPrice.match (reg); if (reslut==null ){ toastrWarning ('无效金额,整数8位,小数2位,示例:247.23' ); return false ; } });
禁止textarea拉伸
做申请开票的时候,订单列表从表格中删除了,但下次点申请开票时还在。使用空串替换某一个订单号,则是可以实现去除指定字符串功能。
1 orderIds = orderIds.replace (orderId+"," ," " );
登陆后跳回原来的页面的问题
思路:点击登录的时候用一个SpringMVC获取到当前url,并把其放到session中,登陆后从session中取出url 清空后跳转
jQueryy在不知道数组元素下标的时删除数组元素
1 2 3 if ($.inArray (templateId.toString (),templateIdSelected)>=0 ){ templateIdSelected.splice ($.inArray (templateId.toString (), templateIdSelected), 1 ) }
$.inArray(),函数用于在数组中查找指定值,并返回它的索引值(如果没有找到,则返回-1),源数组不受影响
arrayObject.splice(index,howmany,item1,…,itemX)
index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany: 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX: 可选。向数组添加的新项目。
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。
JSP千分位
1 2 3 <fmt:formatNumber value="${subscriptionMoney }" pattern="#,###.####" /> subscriptionMoney.replace(/(?<=\d)(?< !.\d*)(?=(\d{3 })+(.|$))/g,',' ); paymentFee.toFixed(2 ).replace(/(\d)(?=(\d{3 })+\.)/g, '$1,' )
数组需要JSON格式化传到后台,不能直接用隐藏域
1 2 var data = $('#settlementForm' ).serializeJson ();data.fileAttachIds = $("#uploader2" ).catUpload ("getUniqueId" );
1 2 3 url : '/member/purchaseentrustmgr/ajaxpaybond' , contentType :"application/json" ,data : JSON .stringify (data),
Java千分位
1 2 DecimalFormat df = new DecimalFormat ("#,###.00" ); System.out.println(df.format(vo.getStockPrice()));
参考链接
在使用removeAttr()移除了radio的checked属性后,使用attr()重新增加不起作用
1 2 $("#invoiceStatus2" ).prop ("checked" ,"checked" ); $("#invoiceStatus1" ).removeAttr ("checked" );
即使用prop()可重新配置上该属性, 具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()
MySQL查询一张表的详细信息(注释)
1 2 3 4 show full columns from 表名;use information_schema; select * from information_schema.columns where table_schema = '数据库名' and table_name = '表名' (and column_name= 'CONTRACT_status' limit 1 )
查询MySQL创建表的sql
textarea开始标签和结束标签中间不要有“回车”。 否则内容不是从头开始的
JavaScript科学计数法还原
方法一:
1 2 3 4 5 6 const a = 0.00000001 ;let result = String (a);if (result.indexOf ('-' ) >= 0 ) { result = '0' + String (Number (result) + 1 ).substr (1 ); } console .log (result);
方法二:
1 2 3 4 function toNonExponential (num ) { var m = num.toExponential ().match (/\d(?:\.(\d*))?e([+-]\d+)/ ); return num.toFixed (Math .max (0 , (m[1 ] || '' ).length - m[2 ])); }
textarea没有value属性
1 <textarea id ="summary" name ="summary" rows ="8" cols ="50" "> <%= summary %></textarea >
MySQL不等于null语法is not null,MySQL等于null语法is null
JavaScript正则匹配
1 2 3 4 var reg = RegExp (/^[0-9a-zA-Z_]+$/ );if (!material.match (reg)){ alert ("内部料号为数字、字母、下划线或三者组合" ); }
jQuery获取选中值
1 2 3 4 var item = $('input[name=items][checked]' ).val (); var item = $("select[name=items] option[selected]" ).text ();
MyBatis 的<trim/>标签
prefix 给sql语句拼接的前缀 suffix 给sql语句拼接的后缀
prefixOverrides 去除sql语句前面的关键字或者字符,该关键字或者字符由prefixOverrides属性指定,假设该属性指定为"AND",当sql语句的开头为"AND",trim标签将会去除该"AND"
suffixOverrides 去除sql语句后面的关键字或者字符,该关键字或者字符由suffixOverrides属性指定
MySQL的group_concat()函数默认拼接字符串长度是1024,可以手动设置。 做双贸项目分组查了分类下的所有扩展属性,后面分类多了肯定出问题😂
jQuery的on()方法不起作用的解决方法。双贸前台商品列表扩展属性监听用到
1 2 $(document ).on ('click' ,'.attrList li' ,function ( ) { }
这种方法每次执行点击事件 的时候,它会先找到document对象,然后去检测有没有子对象,如果有的话,他就将事件给到子对象,子对象得到该事件之后就开始触发事件后面的方法
MyBatis返回List只需要resultType="java.lang.String"就可以了
jQuery下拉框默认选中
1 $("#businessModeAll option[businessId='104']" ).prop ("selected" ,true );
其中businessId是自定义属性,正常用value就可以了。attr方法正常取属性值:
1 $("#businessModeAll option:selected" ).attr ("businessId" );