| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 | <%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="utf-8"%><%@include file="/WEB-INF/commons/commonInclude.jsp" %><script>    var paramManager = {        //初始化        init:function(){            var me = this;            $("#txtType").ligerComboBox({data:[{code:'mysql',value:'MySQL'},{code:'oracle',value:'Oracle'},{code:'sqlserver',value:'SQL Server'}]});            $("#divForm").ligerAutoForm({                data:me.getModel(),                validate:{                    name:"required",                    type:"required",                    ip:"required",                    port:"required",                    dbName:"required",                    dbUser:"required",                    dbPassword:"required"                },                message:{                    name:"请输入数据源名称",                    type:"请选择数据库类型",                    ip:"请输入主机名或IP地址",                    port:"请输入端口",                    dbName:"请输入数据库名",                    dbUser:"请输入用户名",                    dbPassword:"请输入密码"                }            });            me.initEven();        },        //绑定按钮事件        initEven:function(){            var me = this;            $("#btnTest").click(function(){                me.test();            });            $("#btnSave").click(function(){                me.save();            });            $("#btnCancel").click(function(){                var model = me.getModel();                $("#divForm").ligerAutoForm("setData",model);            });        },        //生成数据库连接字符串        getConfigString:function(data){            var resultStr="";            if(data.type=="mysql"){//mysql                resultStr ="jdbc:mysql://"+ data.ip +":"+ data.port +"/"+ data.dbName +"?user="+ data.dbUser +"&password="+ data.dbPassword +"&useUnicode=true&characterEncoding=UTF-8";            }            else if(data.type=="oracle"){//oracle                resultStr ="jdbc:oracle:thin:"+ data.dbUser +"/"+ data.dbPassword +"@//"+ data.ip +":"+ data.port +"/"+ data.dbName ;            }            else{//sqlserver                resultStr ="jdbc:sqlserver://"+data.ip+":"+data.port+"/"+data.dbName+"?user="+data.dbUser+"&password="+data.dbPassword;            }            return resultStr;        },        //获取初始值        getModel:function(){            var model;            if('${model.id}'.length>0) {                var configStr = '${model.config}';                model = {                    id : '${model.id}',                    name : '${model.name}'                };                //反解析连接字符串                if(configStr!=null && configStr.length>0)                {                    var type = (configStr.split("\/")[0]).split(":")[1];                    model.type = type;                    if( type == "mysql" || type == "sqlserver"){                        model.ip = (configStr.split("\/")[2]).split(":")[0];                        model.port = (configStr.split("\/")[2]).split(":")[1];                        model.dbName = (configStr.split("\/")[3]).split("?")[0];                        model.dbUser = (configStr.split("\/")[3]).split("?")[1].split("&")[0].split("=")[1];                        model.dbPassword = (configStr.split("\/")[3]).split("?")[1].split("&")[1].split("=")[1];                    }else{                        model.ip = (configStr.split("\/")[3]).split(":")[0];                        model.port = (configStr.split("\/")[3]).split(":")[1];                        model.dbName = configStr.split("\/")[4];                        model.dbUser = (configStr.split("\/")[0]).split(":")[3];                        model.dbPassword = (configStr.split("\/")[1]).split("@")[0];                    }                }            }            else{                $('#dataSourceInfo').show();            }            return model;        },        //测试数据库连接        test:function(){            var me = this;            if(!$("#divForm").ligerAutoForm("validate"))            {                return;            }            var data = $("#divForm").ligerAutoForm("getData");            $.ajax({                type: "POST",                url : "${contextRoot}/system/testDataSource",                dataType : "json",                data:{uri:me.getConfigString(data)},                cache:false,                success :function(data){                    if(data.successFlg) {                        $.ligerDialog.success(data.message);                    }                    else{                        $.ligerDialog.error(data.message);                    }                }            });        },        //保存操作        save:function(){            var me = this;            if(!$("#divForm").ligerAutoForm("validate"))            {                return;            }            var data = $("#divForm").ligerAutoForm("getData");            $.ajax({                type: "POST",                url : "${contextRoot}/system/saveDataSource",                dataType : "json",                data:{id:data.id,name:data.name,config:me.getConfigString(data)},                cache:false,                success :function(data){                    if(data.successFlg) {                        $.ligerDialog.success(data.message);                        indexPage.refresh();                    }                    else{                        $.ligerDialog.error(data.message);                    }                }            });        }    };    $(function(){        paramManager.init();    });</script>
 |