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

文章目录

        • application.yml中变量间的互相引用
        • idea git解决Untracked Files
        • Java数字格式化输出时前面补0
        • 34.linux下查询jdk的安装路径
        • 33.日志中打印集合或数组
        • 32.MySQL查询每天早上9点到昨天9点的数据
        • 31.action返回页面时的js、css样式失效问题(单独访问页面没有样式问题)
        • 30.js:点击切换
        • 29.Uncaught TypeError: $(...).live is not a function
        • 28.jsp引入页面乱码,不修改子页面的编码格式的方法
        • 27.MySQL默认时间设置
        • 26.java获取月末最后一天
        • 25.js获取月末最后一天的12点前
        • 24.提升css样式优先级,方法:添加 !important;
        • 23.从路径中获取文件名,再获取文件名的后八位
        • 22.ajax请求post方法,本地项目没问题,服务器上报500错误
        • 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
        • 18.js获取td,span等的值
        • 17.a标签样式修改为不可用
        • 16.修改数据库相应字段的属性,选择charset为utf-8,collation为utf8-unicode-ci
        • 15.JS获取select下拉框选中的name1属性的值:
        • 14 上传图片时,手机端支持打开相册和拍照
        • 13.英文姓名不能为空且不能包含中文
        • 12..js判断输入的只能是字母和数字
        • 11.将查询到的结果集集合都合并放到一个为逗号隔开的新字段
        • 10.跳转相对路径
        • 9.java.lang.NumberFormatException: For input string: "14757272012"
        • 8.js中将字符串类型转换为数字类型进行计算
        • 7.
        • 6.MYSQL中批量替换某个字段的部分数据
        • 5.按照自定义的时间格式查询一段时间的下单数量,如:按照每天的小时
        • 4.
        • 3.ReadOnly和Disabled的作用是使用户不能够更改表单域中的内容.
        • 2.mysql查询字段值为空的语法:
        • 1.jquery定位到某一行:

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 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/";
%>


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指令告诉容器:先复制被包含文件汇总的所有内容,再把它粘贴到这个文件中。其中 ,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 

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 上传图片时,手机端支持打开相册和拍照

可行方式:
<input class="weui-uploader\_\_input" type="file" multiple
accept="image/\*" name="file13" id="file13">

不可行方式:
<!-- <input class="weui-uploader\_\_input" type="file"
capture="camera" accept="image/\*" name="file13" id="file13"> -->

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();

你可能感兴趣的:(工作笔记)