1.[JAVA]生成随机字符串
3.[JS]给Date添加format方法
private static SecureRandom random = new SecureRandom();
public static String randomString(int length) {
BigInteger bi = new BigInteger(130, random);
String str = bi.toString(32);
return str.substring(0, length);
}
2.[JAVA]mapper.xml中使用枚举
<select id="selectAllStudents" resultMap="BaseResultMap">
select * from user_enum
where user_type = ${@com.chrhc.mybatis.handler.domain.UserType@STUDENT.getId()}
</select>
3.[JS]给Date添加format方法
//设定时间格式化函数,使用new Date().format("yyyyMMddhhmmss");
Date.prototype.format = function (format) {
var args = {
"M+": this.getMonth() + 1,
"d+": this.getDate(),
"h+": this.getHours(),
"m+": this.getMinutes(),
"s+": this.getSeconds(),
};
if (/(y+)/.test(format))
format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var i in args) {
var n = args[i];
if (new RegExp("(" + i + ")").test(format))
format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? n : ("00" + n).substr(("" + n).length));
}
return format;
};
4[java]火狐下载中文文件名乱码
if ("FF".equals(getBrowser(request))) {// 针对火狐浏览器处理方式不一样了
downloadFileName = new String(attach.getLocalFileName().getBytes("UTF-8"), "iso-8859-1");
downloadFileName = "\""+downloadFileName+"\"";
}else{
downloadFileName = URLEncoder.encode(attach.getLocalFileName(), "UTF-8");
}
private String getBrowser(HttpServletRequest request) {
String UserAgent = request.getHeader("USER-AGENT").toLowerCase();
if (UserAgent != null) {
if (UserAgent.indexOf("msie") >= 0)
return "IE";
if (UserAgent.indexOf("firefox") >= 0)
return "FF";
if (UserAgent.indexOf("safari") >= 0)
return "SF";
}
return null;
}
5.[JS]iCheck全选与反选
function initCheckBox(checkAllName, checkItemName){//初始化checkbox
var checkItems = $("input[type='checkbox'][name='"+checkItemName+"']");
var checkAll = $("input[type='checkbox'][name='"+checkAllName+"']");
checkItems.each(function(){
$(this).iCheck({
checkboxClass: 'icheckbox_minimal-blue',
radioClass: 'iradio_minimal-blue',
}).on ('ifClicked', function() {
if ($(this).prop('checked')) {
if (checkAll.prop('checked')) {
checkAll.iCheck('uncheck');
}
} else {
if(checkItems.filter(':checked').length == (checkItems.length - 1)) {
checkAll.iCheck('check');
}
}
});
});
checkAll.iCheck({
checkboxClass: 'icheckbox_minimal-blue',
radioClass: 'iradio_minimal-blue',
}).on('ifClicked', function(event){
if (checkAll.prop('checked')) {
checkItems.filter(':checked').iCheck('uncheck');
} else {
checkItems.not(':checked').iCheck('check');
}
});
}
function getCheckedValues(checkItemName){
var ids = new Array();
var checkItems = $("input[type='checkbox'][name='"+checkItemName+"']");
checkItems.each(function(){
if($(this).prop('checked')){
var id = $(this).val();
ids.push(id);
}
});
if(ids.length <= 0){
return "";
}
return ids.join(",");
}
6.[js]checkbox全选与反选
<html>
<head>
<script src="js/jquery-1.9.1.js"></script>
<script>
function checkAllItem(cbx){
var checkItems = $("input[type='checkbox'][name='checkItem']");
var checkAll = $(cbx);
if (checkAll.prop('checked')) {
checkItems.not(':checked').each(function(){
$(this).prop("checked", true);
});
} else {
checkItems.filter(':checked').each(function(){
$(this).prop("checked", false);
});
}
}
function checkOneItem(cbx){
var checkItems = $("input[type='checkbox'][name='checkItem']");
var checkAll = $("input[type='checkbox'][name='checkAll']");
if ($(cbx).prop('checked')) {
if(checkItems.filter(':checked').length == (checkItems.length)) {
checkAll.prop("checked", true);
}
}else{
if (checkAll.prop('checked')) {
checkAll.prop("checked", false);
}
}
}
function getCheckedValues(){
var ids = new Array();
var checkItems = $("input[type='checkbox'][name='checkItem']");
checkItems.each(function(){
if($(this).prop('checked')){
var id = $(this).val();
ids.push(id);
}
});
if(ids.length <= 0){
return "";
}
var val = ids.join(",");
alert(val);
return val
}
</script>
</head>
<body>
<div>
check all<input type='checkbox' id='checkAll' name='checkAll' οnclick='checkAllItem(this)' />
</div>
<div>
check1:<input type='checkbox' name='checkItem' value='v1' οnclick='checkOneItem(this)'><br/>
check2:<input type='checkbox' name='checkItem' value='v2' οnclick='checkOneItem(this)'><br/>
check3:<input type='checkbox' name='checkItem' value='v3' οnclick='checkOneItem(this)'><br/>
</div>
<div>
<input type="button" value="yes" οnclick="getCheckedValues()">
</div>
</body>
</html>
7.[mysql]触发器,当一个库中的表有数据的时候,插入到另一个库的表中
grant trigger on imp_em.* to 'root'@'%' IDENTIFIED by '123456';
drop trigger if exists InsertEmLogDevice;
delimiter //
create trigger InsertEmLogDevice
before insert on imp_em.em_log_device
for each row
Begin
DECLARE v_ip VARCHAR(60);
IF LENGTH(new.info)>8 then
select distinct(ip) from imp_em.em_device d,imp_em.em_log_device l
where d.name = l.device and l.device = new.device
into v_ip;
insert into zqdd.em_alarm_log(id,time,type,device,channel,sensor,state,data,info,ip)
values(new.id,new.time,new.type,new.device,new.channel,new.sensor,new.state,new.data,new.info, v_ip);
END IF;
end;//
delimiter ;
8.TP-LINK路由器相关
(1)应用管理->DMZ主机,添加路由到内网一台机器的映射
(2)应用管理->虚拟服务器,添加路由到内网多个机器的映射
9.EmEditor删除空行
^[\s\t]*\n