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>
|