日常工作笔记(持续更新中。。)

文章目录

application.yml中变量间的互相引用
通过${param}参数实现。例如:
workflow:
  url: http://test.com
  startProcessUrl: ${workflow.url}/startProcessUrl
idea git解决Untracked Files
将test等不想推送到git仓库的文件添加到git忽略文件(.gitignore)中即可
Java数字格式化输出时前面补0

%d  整数类型(十进制)
0   数字前面补0
6   共6位数字

String.format("%06d",int);
34.linux下查询jdk的安装路径

原理:找到jdk安装路径中的文件,就找到了安装路径

find -name libjvm.so 2>/dev/null
33.日志中打印集合或数组
如果是集合:先将集合转数组,然后使用Arrays工具类
如果是数组:直接使用Arrays工具类
导包:java.util.Arrays
例子为打印String集合
ArrayList<String> list = new ArrayList<>();
String[] arr = list.toArray(new String[Size]);
Arrays.toString(arr);
32.MySQL查询每天早上9点到昨天9点的数据
1.获取当天日期零点的字符串:SELECT DATE_FORMAT(NOW(),'%Y%m%d')
2.将字符串转换为日期格式:SELECT STR_TO_DATE(DATE_FORMAT(NOW(),'%Y%m%d'),'%Y%m%d')
3.使用日期添加间隔DATE_ADD()函数,获取当天0点的第前15个小时:SELECT DATE_ADD(STR_TO_DATE(DATE_FORMAT(NOW(),'%Y%m%d'),'%Y%m%d'),INTERVAL -15 HOUR);
4.获取当天0点的第后9个小时:SELECT DATE_ADD(STR_TO_DATE(DATE_FORMAT(NOW(),'%Y%m%d'),'%Y%m%d'),INTERVAL 9 HOUR);
最终结果:SELECT * FROM t_xyx_order WHERE createtime >= (SELECT DATE_ADD(STR_TO_DATE(DATE_FORMAT(NOW(),'%Y%m%d'),'%Y%m%d'),INTERVAL -15 HOUR)) AND createTime <= (SELECT DATE_ADD(STR_TO_DATE(DATE_FORMAT(NOW(),'%Y%m%d'),'%Y%m%d'),INTERVAL 9 HOUR))
31.action返回页面时的js、css样式失效问题(单独访问页面没有样式问题)
原因:action跳转后的url会根据命名空间,自动跳转到命名空间子目录,使得当前引用的css和js查找不到,从而失效
解决办法;先将struts2.xml命名空间改写为“/”,不再使用自定义的命名空间
然后在jsp页面获取根路径 basePath,
<%
	String path = request.getContextPath();
	String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()
			+ path + "/";
	//String ticket=request.getParameter("ticket");
	String channel = request.getParameter("channel");
	//String company = request.getParameter("company");
	//String center = request.getParameter("center");
	//String wgName = request.getParameter("wgName");
	//String pageName = request.getParameter("pageName");
	//basePath = "https://openapp.10010.com/bj/";
	//basePath = "https://ecstest0517.10010.com/bj/";
%>
<base href="<%=basePath%>">
<script type="text/javascript" src="<%=basePath%>guoman/res/jquery-1.7.2.js"></script>
30.js:点击切换
$('#protocol_link').click(function(){
		window.open($("base").attr("href")+"single/web/protocol.jsp");
		$('#protocolCheck').removeAttr('disabled');
		var judge = $('#protocolCheck').val();
		$('#protocolCheck').click(function(event){
			if(judge){
				judge = 0;
				$('#protocolCheck').attr('checked','checked');
			}else{
				judge = 1;
				$('#protocolCheck').attr('checked',false);
			}
		});
	});
29.Uncaught TypeError: $(…).live is not a function
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。
注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。
提示:如需移除事件处理程序,请使用 off() 方法。
提示:如需添加只运行一次的事件然后移除,请使用 on() 方法。
解决办法:在项目中所有使用jquery的live()方法都修改成on()方法,使用方法相同,只用修改方法名即可。
28.jsp引入页面乱码,不修改子页面的编码格式的方法
strtus2,s:include 父页面与导入的子页面编码格式必须一致,而使用jsp动态引入,子父页面编码 pageEncoding="UTF-8" 不必一致:<jsp:include   page="head.jsp"/>
原理:jsp include指令告诉容器:先复制被包含文件汇总的所有内容,再把它粘贴到这个文件中。其中<jsp:include   page="head.jsp" flush="false"/> ,flush属性默认 flush="false" 不会清理缓存数据
27.MySQL默认时间设置
MySQL为时间类型:timestamp 设置默认值为当前时间:CURRENT_TIMESTAMP
26.java获取月末最后一天
	/**
	* 判断是否本月的最后一天
	*
	* @return
	*/
	public static String isMonthLastDay() {
		Date a = new Date();
        Calendar b = Calendar.getInstance();
        b.setTime(a);
        int lastDay = b.getActualMaximum(Calendar.DAY_OF_MONTH);
        int now = b.get(Calendar.DAY_OF_MONTH);
        
        String str = lastDay == now ? "0" : "1";
        if(str.endsWith("0")){
        	return  b.get(Calendar.HOUR_OF_DAY) >= 17 ? "0" : "1";
        }else{
        	return "1";
        }
	}
25.js获取月末最后一天的12点前
		//当前时间
		var newDate = new Date();
	   		var str =+ newDate.getFullYear() + "-";
		     str += (newDate.getMonth()+1) + "-";
		     str += newDate.getDate() +" ";
		     str += newDate.getHours()+":";
		     str += newDate.getMinutes()+":";
		     str += newDate.getSeconds();
		   //第二个月一号的时间
		var oldDate = new Date();     
			var stt =+ oldDate.getFullYear() + "-";
		     stt += (oldDate.getMonth()+2) + "-";
		     stt += '01' +" ";
		     stt += '00'+":";
		     stt += 0+":";
		     stt += '00';
		   //当前时间的毫秒数
		var newD = Date.parse(str);
		//下个月1号的毫秒数
		var oldD = Date.parse(stt);
		
		if(newD <oldD-43200000){//12个小时的毫秒数
			//alert1("当前时间在月末最后一天的19点前,可以正常办理");
		}else{
			alert1("亲,注意:每月最后一日中午12点后在本页面申请订购的用户,流量包将有可能于次次月才能生效,请酌情安排好申请订购的时间。");

		}
24.提升css样式优先级,方法:添加 !important;
input {
	border: solid 1px #bbbbbb !important;
	background: white !important;
}

23.从路径中获取文件名,再获取文件名的后八位
有后缀名:String str = path.substring(path.lastIndexOf("/") + 1, path.length());
没有后缀名:String name = str.substring(0, str.lastIndexOf("."));
获取名称中后八位作为日期:String dada=name.substring(name.length()-8);
22.ajax请求post方法,本地项目没问题,服务器上报500错误
原因竟然是:方法中有一个controller调用另一个controller,一个service调用另一个controller造成,修改后成功
21.java.lang.IllegalStateException: Annotation-specified bean name ‘xyxDao’ for bean class [com.surekam.xiaoyuanxing.dao.XyxDao] conflicts with existing, non-compatible bean definition of same name and class [com.surekam.xiaoyuanxing.dao.impl.XyxDaoImpl]
解决办法;注解名称相同,修改为不一样
20.按行读后,将每行的字符串按照“|”分割,出现bug:打印出结果是按照每个字符分割
解决办法;加转义“\\|”
19.页面报错net::ERR_ABORTED
原因:找不到引用的js
影响元素:js路径问题,js加载顺序问题,
解决办法:改路径,调试加载顺序,都不行的话,不要引用js文件,直接将js中的方法提取到页面上
18.js获取td,span等的值
var tel = document.getElementById("con_tel").innerText;
17.a标签样式修改为不可用
加入href =”javascript:return false;” 可以实现不可点击功能 
$('#chexiao_order').removeAttr('onclick');移除点击事件
加入style=”opacity: 0.2”可以实现变灰的效果
16.修改数据库相应字段的属性,选择charset为utf-8,collation为utf8-unicode-ci
Caused by: java.sql.SQLException: Incorrect string value:
'\\xE5\\x91\\xA8\\xE6\\ --异常
15.JS获取select下拉框选中的name1属性的值:
var cloud\_type = \$("\#speed").find("option:selected").attr("name1");
14 上传图片时,手机端支持打开相册和拍照
可行方式:
&lt;input class="weui-uploader\_\_input" type="file" multiple
accept="image/\*" name="file13" id="file13"&gt;

不可行方式:
&lt;!-- &lt;input class="weui-uploader\_\_input" type="file"
capture="camera" accept="image/\*" name="file13" id="file13"&gt; --&gt;
13.英文姓名不能为空且不能包含中文
if (ip\_name == "" || /.\*\[\\u4e00-\\u9fa5\]+.\*\$/.test(ip\_name)) {

alert1("英文姓名不能为空且不能包含中文");

return;

}
12…js判断输入的只能是字母和数字
var reg = /\^\[0-9a-zA-Z\]+\$/

function jiaoyan(){

var str = \$.trim(\$("\#2\_idcard").val());

if(!reg.test(str)){

alert("您输入的统一社会信用代码不是数字或者字母")

return;

}

}

11.将查询到的结果集集合都合并放到一个为逗号隔开的新字段
(SELECT GROUP_CONCAT(StateTag) FROM t_wst_order_status AS B WHERE
B.OrderId = '011WBSWEB20180403111205582') AS stateTag
10.跳转相对路径
href="/bj/cloudspecialline/app/header.jsp"
9.java.lang.NumberFormatException: For input string: “14757272012”
原因&解决办法:Integer在32位的编译环境下,存储长度为32位。即-2\^31\~2\^31-1;
即-2,147,483,648\~2,147,483,647,此时将Integer换成BigInteger类型,问题解决
8.js中将字符串类型转换为数字类型进行计算
js中变量为弱类型,可以直接进行运算:cloud\_type = cloud\_type \* 1 +15;
7.
(1)Unable to instantiate Action

(2)java.lang.ClassNotFoundException

(3)ResourceBundle \[i18n.SecurityMessage\] not found for MessageSource:

除了配置错误,还要检查往后台服务器上部署的时候class文件位置是否正确(\\web\\WEB-INF\\classes\\com\\surekam\\)
6.MYSQL中批量替换某个字段的部分数据
UPDATE t\_wt\_csl\_order SET ddgj\_trade\_id = REPLACE(ddgj\_trade\_id,
'AA', NULL) \#批量替换:将order表中的BB替换为null
5.按照自定义的时间格式查询一段时间的下单数量,如:按照每天的小时
SELECT DATE_FORMAT(order_time,'%Y-%m-%d %H') days,COUNT(1) COUNT FROM t_wt_wbsp_main_sheet WHERE order_time >= '2018-04-01' AND order_time <= '2018-04-30' GROUP BY days ;
4.
String dateStr=new SimpleDateFormat("yyyyMMddHHmmssSSS").format(new
Date());
3.ReadOnly和Disabled的作用是使用户不能够更改表单域中的内容.
但是二者还是有着一些区别的:

1、Readonly只针对input(text/password)和textarea有效,而disabled对于所有的表单元素有效,包括select,radio,checkbox,button等。

2、在表单元素使用了disabled后,我们将表单以POST或者GET的方式提交的话,这个元素的值不会被传递出去,而readonly会将该值传递出去

常用情况:

1、在某个表单中为用户预填了某个唯一识别代码,不允许用户改动,但是在提交时需要传递该值,此时将属性设置为readonly

2、当用户正式提交了表单后需要等待管理员的信息验证,不允许用户再更改表单中的数据,而是只能够查看,由于disabled的作用元素范围大,所以此时应该使用disabled,但同时应该注意的是要将submit
button也disabled掉,否则只要用户按了这个按钮,如果在数据库操作页面中没有做完整性检测的话,数据库中的值会被清除。

3、在用户按了提交按钮后,利用javascript将提交按钮disabled掉,可防止在网络条件比较差的环境下,用户反复点击提交按钮导致数据冗余地存入数据库
2.mysql查询字段值为空的语法:
where 字段名 is null
1.jquery定位到某一行:
$("input[name='Operator_card_num']")[0].focus();
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值