//var data = [{ "name" : "rfswitch1" , "ip" : "80.4.2.59" , "group" : "A"}, { "name" : "rfswitch2" , "ip" : "10.75.199.244" , "group" : "B"}, { "name" : "rfswitch3" , "ip" : "10.75.192.15" , "group" : "B"}, { "name" : "rfswitch2" , "ip" : "192.168.1.3" , "group" : "A"}, { "name" : "frank" , "ip" : "192.168.1.0" , "group" : "frank"}, { "name" : "frank1" , "ip" : "192.168.1.0" , "group" : "frank1"}, { "name" : "frank2" , "ip" : "198.189" , "group" : "C"}, { "name" : "rfswich4" , "ip" : "192.168.1.9" , "group" : "D"}, { "name" : "rfswitch4" , "ip" : "192.168.1.9" , "group" : "D"}, { "name" : "rfswitch3" , "ip" : "192.168.1.9" , "group" : "D"}];
var table;
var editFlag = false;
window.οnlοad=function(){
var data = getAllDbdata();
var tpl = $("#tpl").html();//get template
//compile template
var template = Handlebars.compile(tpl);
table = $('#example').DataTable({ //datatable init
data: data,
columns: [
{"data": "name"},
{"data": "ip"},
{"data": "group"},
{"data": null}
],
columnDefs: [
{
targets: 3,//point to four column
render: function (a, b, c, d) {//render that get data from source
var context =
{
func: [
{"name": " Edit ", "fn": "edit(\'" + c.name + "\',\'" + c.ip + "\',\'" + c.group + "\')", "type": "primary"},
{"name": "Delete", "fn": "del(\'" + c.name + "\',\'" + c.ip + "\',\'" + c.group + "\')", "type": "danger"}
]
};
var html = template(context);//\u5339\u914d\u5185\u5bb9
return html;
}
}
],
// language
//Define the table control elements to appear on the page and in what order
"dom": "<'row'<'col-xs-2'l><'#mytool.col-xs-4'><'col-xs-6'f>r>" + "t" + "<'row'<'col-xs-6'i><'col-xs-6'p>>",
initComplete: function () {
$("#mytool").append('');
}
});
$("#save").click(save);//edit \u5462
};
/**
* getAllDbdata
*/
function getAllDbdata(){
$("#error-msg").empty();
var query = JSON.stringify(getQueryInput("get","","",""));
var get = sendReq("/device/GetDB", query);
if (get == null){
$("#errro-msg").html('
'+
'insert database!
');
return;
}
//var articles1 = get.resultDB;////articles:"[{},{}]" must use eval to [{},{}]
var articles = JSON.parse(get.resultDB);//both this method and eval() can run
//var articles = eval(articles1);//very important.
return articles;
}
/**
* clear
*/
function clear() {
$("#name").val("").attr("disabled",false);
$("#ip").val("");
$("#group").val("");
editFlag = false;
}
/**
*save and edit
*/
function save() {
var flag = $("#myModalLabel").text();
//var flag = Edit;
if(flag == "Edit"){
//get input and ajax
var name = $("#name").val();
var ip = $("#ip").val();
var group = $("#group").val();
var query = JSON.stringify(getQueryInput("other",name,ip,group));
var get = sendReq("/device/EditDB", query);
if (get == null){
return;
}
if(get.msg != ""){
$("#errro-msg").html('
'+
'failed, '+get.msg+'
');
$('#myModal').modal('hide');
return;
}
if(get.msg == ""){
$('#myModal').modal('hide');
window.location.reload();
}
return;
}
//alert("add");//get input and ajax
var name = $("#name").val();
var ip = $("#ip").val();
var group = $("#group").val();
var query = JSON.stringify(getQueryInput("other",name,ip,group));
var get = sendReq("/device/AddDB", query);
if (get == null){
return;
}
if(get.msg != ""){
$("#errro-msg").html('
'+
'failed, '+get.msg+'
');
$('#myModal').modal('hide');
return;
}
if(get.msg == ""){
$('#myModal').modal('hide');
//getAllDbdata();
window.location.reload();//can moidify
}
return;
}
/**
* add data
**/
function add() {
$("#ip").attr("disabled",false);
$("#myModalLabel").text("ADD");
$("#myModal").modal("show");
$("#myModal").draggable({handle: ".modal-header"});
}
/**
*Edit
**/
function edit(name,ip,group) {
//console.log(name);
editFlag = true;
$("#myModalLabel").text("Edit");
$("#name").val(name);//\u4e3a\u4ec0\u4e48\u4e5f\u6709\u4f5c\u7528
$("#ip").val(ip).attr("disabled",true);
$("#group").val(group);
//\u5e94\u8be5\u83b7\u5f97\u6570\u636e\u4e5f\u5c31\u662f\u8981\u8fdb\u884c\u66f4\u65b0\u5904\u7406
$("#myModal").modal("show");
$("#myModal").draggable({handle: ".modal-header"});
}
/**
delete
*
*/
function del(name,ip,group) {
//\u8fd9\u4e2a\u5730\u65b9\u4e5f\u597d\u5f04\uff0c\u53ef\u4ee5\u83b7\u53d6\u6570\u636e
//alert(name+ip+group);
var query = JSON.stringify(getQueryInput("other",name,ip,group));
var get = sendReq("/device/RemoveDB", query);
if(get.msg == "failed")
{
$("#errro-msg").html('
Shell 流程控制
和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法):
<?php
if(isset($_GET["q"])){
search(q);}else{// 不做任何事情}
在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else,就像这样 if else if
if 语句语
因为我们做的是聊天室,所以会有多个客户端,每个客户端我们用一个线程去实现,通过搭建一个服务器来实现从每个客户端来读取信息和发送信息。
我们先写客户端的线程。
public class ChatSocket extends Thread{
Socket socket;
public ChatSocket(Socket socket){
this.sock
在第一篇中,定义范型类时,使用如下的方式:
public class Generics<M, S, N> {
//M,S,N是范型参数
}
这种方式定义的范型类有两个基本的问题:
1. 范型参数定义的实例字段,如private M m = null;由于M的类型在运行时才能确定,那么我们在类的方法中,无法使用m,这跟定义pri
当tomcat是解压的时候,用eclipse启动正常,点击startup.bat的时候启动报错;
报错如下:
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME shou
When you got error message like "Property null not found ***", try to fix it by the following way:
1)if you are using AdvancedDatagrid, make sure you only update the data in the data prov
当iOS 8.0和OS X v10.10发布后,一个全新的概念出现在我们眼前,那就是应用扩展。顾名思义,应用扩展允许开发者扩展应用的自定义功能和内容,能够让用户在使用其他app时使用该项功能。你可以开发一个应用扩展来执行某些特定的任务,用户使用该扩展后就可以在多个上下文环境中执行该任务。比如说,你提供了一个能让用户把内容分
SQL>select text from all_source where owner=user and name=upper('&plsql_name');
SQL>select * from user_ind_columns where index_name=upper('&index_name'); 将表记录恢复到指定时间段以前