密码框中的密码可见与隐藏 原理:准备2个input 框,当需要显示密码时 隐藏<input type="password" /> 显示<input type="text" />
关于poi 导出时设置选择保存地址 原理:利用流输出这样就可以使用系统的保存对话框 // 第六步,将文件存到指定位置 String filedisplay = building.getString("buildingName") + ".xls"; filedisplay = URLEncoder.encode(filedisplay, "UTF-8"); resp.addHeader("Content-Disposition", "attachment;filename=" + filedisplay); OutputStream fout = resp.getOutputStream(); wb.write(fout); fout.close();
快速删除一张表的所有数据 TRUNCATE TABLE tablename
jquery 的遍历 $j("form[name=XXX]").find("input[name=XXX]").each(function() { this.value = "Y"; }); $.each( [0,1,2], function(i, n){ alert( "Item #" + i + ": " + n ); });
让图片相对于屏幕固定住,不随网页滚动而动,也就是使用 position:fixed
1.List Java代码 boolean[] boolArray =newboolean[]{true,false,true}; JSONArray jsonArray1 = JSONArray.fromObject( boolArray ); System.out.println( jsonArray1 ); // prints [true,false,true] List list =newArrayList(); list.add("first"); list.add("second"); JSONArray jsonArray2 = JSONArray.fromObject( list ); System.out.println( jsonArray2 ); // prints ["first","second"] JSONArray jsonArray3 = JSONArray.fromObject("['json','is','easy']"); System.out.println( jsonArray3 ); // prints ["json","is","easy"] 2.Map Java代码 Map map =newHashMap(); map.put("name","json"); map.put("bool", Boolean.TRUE ); map.put("int",newInteger(1) ); map.put("arr",newString[]{"a","b"} ); map.put("func","function(i){ return this.arr[i]; }"); JSONObject json = JSONObject.fromObject( map ); System.out.println( json ); list, json 从另一个角度看就是一个Array 使用JSONArray 转换 Map 就相当于一个对象(person{name:zhagnsan, age:23}) 使用JSONObject 转换
Double类型的a和b做减法与c比较时容易出现的问题 常理认为0.8-0.2=0.6 但是如果转换成double基本类型来做减法与一个数做比较时会不成立。 string转成double,存储到计算机里面为64位8个字节的二进制为:0.8*2 = 1.6。 0.6为基数。 此时1为二进制 0.6*2 = 1.2 , 0.2为基数, 1为二进制。 0.2*2=0.4 ,0.4为基数。 0为二进制。0.4*2=0.8, 0.8为基 数。 0为基数。 0.8*2 = 1.6 ,0.6为基数。 1为二进制。 二进制从左边开始写为: 0.11001。。。。以此类 推。 算到64位算不完的省略。 然后再做计算时为,0*2^0.+0*2^-1+1*2^-2 ......所以0.8-0.2总会小于0.6 二进制转十进制 101.1101 = 1*2^2+0*2^1+1*2^0+1*2^-1+1*2^-2+0*2^-3+1*2^-4 = 4+0+1+1/2+1/4+0+1 /16 小数转二进制0.25 = 0.01 0 +1*2^-2 = 0.25 整数转二进制 5 = 5/2 1 2/2 0 1/2 101 如果遇到String类型浮点数做比较,建议使用BigDecimal或者用小于比较数0.000001 (该值视精度而定)的浮点 来替代比较数。 比如:<0.599999
javascript的Date构建方法中,月份值0表示1月 var date = new Date(year, month, day); 其中,年就是4位年份数字; day就是指定月中的日数,从1开始计;而month,表示月份,从0开始计,范围是0~11。
单击和双击 往往双击时会触发单击事件 此方法可以避免: funcction OneClick(obj) { v_Result = false; window.setTimeout(OneClick _Nei, 500) function OneClick _Nei() { if (v_Result != false) return; functionName(obj); } } function TwoClick (obj) { v_Result = true; functionName(obj); }
jquery 表单验证 初始化:$(document).ready(function(){ $('#yourformid').validate();}); 判断是否通过验证: $('#yourformid').validate().form() return true or false 或者: $('#yourformid').valid();
求一天的起始时间,如何避免时区对Timestamp类型值的影响 下述代码求一天的其实时间是错误的: long ONE_DAY_MS = 24 * 60 * 60 * 1000; // 一天的毫秒数 Timestamp dayTs = new Timestamp( (timeFromToProcess.getTime() / ONE_DAY_MS) * ONE_DAY_MS); // dayTs: 一天起始时刻的Timestamp值 原因是:有时区影响,GMT时间会转化为当地时间。 e.g. 对于东8区,2013-12-25 03:10:00,转换为整小时是"2013-12-25 03:00:00", 而使用同样的整除法转换为整天数,则为"2013-12-24 08:00:00",和预期“日”相差一天。 正确的做法是使用字符串格式的时间("YYYY-MM-DD 00:00:00.000")进行转换: Timestamp hourTs = new Timestamp( (timeFromToProcess.getTime() / ONE_HOUR_MS) * ONE_HOUR_MS); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); String startDayTimeFromStr = sdf.format(hourTs) + " 00:00:00.000"; Timestamp dayTs = LabwayUtils.toTimestamp(startDayTimeFromStr); // 此处dayTs使用UTC(GMT)时间替代,用以表示准确的“日”
转载于:https://my.oschina.net/u/1430310/blog/314391