From 70c28f746504acb29957bed551f69f3cceb2d598 Mon Sep 17 00:00:00 2001 From: datagear Date: Mon, 13 Apr 2020 15:04:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3jetty=E5=B5=8C=E5=85=A5?= =?UTF-8?q?=E7=A8=8B=E5=BA=8F=E8=BF=90=E8=A1=8C=E6=97=B6=E9=83=A8=E5=88=86?= =?UTF-8?q?=E5=8A=9F=E8=83=BDURL=E9=93=BE=E6=8E=A5=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84BUG=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/webapp/static/script/datagear-util.js | 34 ------------------- .../freemarker/analysis/chart/chart_form.ftl | 2 +- .../chartPlugin/chartPlugin_select.ftl | 2 +- .../webapp/view/freemarker/data/data_grid.ftl | 4 ++- .../freemarker/data/include/data_page_obj.ftl | 5 ++- .../view/freemarker/include/page_js_obj.ftl | 19 +++++++++++ .../web/webapp/view/freemarker/main.ftl | 14 ++++---- 7 files changed, 34 insertions(+), 46 deletions(-) diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-util.js b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-util.js index 124a0411..b89af01d 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-util.js +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/static/script/datagear-util.js @@ -931,40 +931,6 @@ return $.meta.escapeHtml(text); }, - /** - * 将传入参数转义为路径。 - * - * @param args 路径元素,元素为true或false,可控制下一个元素是否转义 - */ - toPath : function(args) - { - var re=""; - - var encode = true; - for(var i=0; i< arguments.length; i++) - { - var element = arguments[i]; - - //设置下一个元素是否转义 - if(element === true || element === false) - { - encode = element; - continue; - } - - if(encode) - element = encodeURIComponent(element); - - if(re && re.charAt(re.length - 1) != "/") - re += "/"; - - re += element; - encode=true; - } - - return re; - }, - /** * 为DataTables转义列名。 * 参考jquery.dataTables.js的_fnSplitObjNotation函数。 diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chart/chart_form.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chart/chart_form.ftl index 13360a2e..d42a02ff 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chart/chart_form.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chart/chart_form.ftl @@ -225,7 +225,7 @@ readonly 是否只读操作,允许为null if(chartPluginVO.iconUrl) { $wapper.removeClass("no-icon"); - $("
").css("background-image", "url(${contextPath}/"+chartPluginVO.iconUrl+")").appendTo($wapper); + $("
").css("background-image", "url(${contextPath}"+chartPluginVO.iconUrl+")").appendTo($wapper); } else $wapper.addClass("no-icon"); diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chartPlugin/chartPlugin_select.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chartPlugin/chartPlugin_select.ftl index d823c292..e2918aa7 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chartPlugin/chartPlugin_select.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/analysis/chartPlugin/chartPlugin_select.ftl @@ -105,7 +105,7 @@ .attr("chart-plugin-id", chartPlugin.id).attr("title", chartPlugin.nameLabel.value).appendTo($liulli); if(chartPlugin.iconUrl) - $("
 
").css("background-image", "url(${contextPath}/"+chartPlugin.iconUrl+")").appendTo($item); + $("
 
").css("background-image", "url(${contextPath}"+chartPlugin.iconUrl+")").appendTo($item); $("
").text(chartPlugin.nameLabel.value).appendTo($item); } diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/data_grid.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/data_grid.ftl index 0f7d8489..405d5a11 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/data_grid.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/data_grid.ftl @@ -130,7 +130,9 @@ boolean readonly 是否只读操作,默认为false }; - po.open(po.url("", "add", "batchSet=true"), options); + var url = po.url("add"); + url = $.addParam(url, "batchSet", "true"); + po.open(url, options); }); po.element("input[name=editButton]").click(function() diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/include/data_page_obj.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/include/data_page_obj.ftl index c192c29b..60b5eed9 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/include/data_page_obj.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/data/include/data_page_obj.ftl @@ -15,9 +15,8 @@ * * @param tableName 可选,操作对应的表名,默认是当前表名 * @param action 操作名称 - * @param param URL后面加的参数,不需要以'?'开头 */ - url : function(tableName, action, param) + url : function(tableName, action) { if(action == undefined) { @@ -28,7 +27,7 @@ if(!tableName) tableName = this.tableName; - return $.toPath(false, contextPath, "data", this.schemaId, tableName, action) + (param ? "?" + param : ""); + return po.concatContextPath("data", this.schemaId, tableName, action); }, /** diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/include/page_js_obj.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/include/page_js_obj.ftl index 04043586..8bd899fe 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/include/page_js_obj.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/include/page_js_obj.ftl @@ -202,6 +202,25 @@ var ${pageId} = this.close(); return close; + }, + + /** + * 连接contextPath路径。 + * @param pathNode 可变路径节点,不需要加“/” + */ + concatContextPath : function(pathNode) + { + var path = "${contextPath}"; + + for(var i=0; i< arguments.length; i++) + { + if(path == "" || path.charAt(path.length - 1) != "/") + path += "/"; + + path += encodeURIComponent(arguments[i]); + } + + return path; } }; diff --git a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/main.ftl b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/main.ftl index 6ada1c28..89071869 100644 --- a/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/main.ftl +++ b/datagear-web/src/main/resources/org/datagear/web/webapp/view/freemarker/main.ftl @@ -220,7 +220,7 @@ ${detectNewVersionScript} if(table.comment) atitle += "<@spring.message code='bracketLeft' />" + table.comment + "<@spring.message code='bracketRight' />"; - table.a_attr = { "href": $.toPath(false, contextPath, "data", schema.id, table.name, "query"), "title" : atitle}; + table.a_attr = { "href": po.concatContextPath("data", schema.id, table.name, "query"), "title" : atitle}; return table; }; @@ -389,7 +389,7 @@ ${detectNewVersionScript} } else if(po.isSchemaNode(node)) { - $.ajaxJson($.toPath(false, contextPath, "schema", node.id, "pagingQueryTable"), + $.ajaxJson(po.concatContextPath("schema", node.id, "pagingQueryTable"), { data: po.getSearchSchemaFormDataForTable(), success: function(pagingData) @@ -422,7 +422,7 @@ ${detectNewVersionScript} tabTitle += "<@spring.message code='bracketLeft' />" + tableInfo.comment + "<@spring.message code='bracketRight' />"; tabTitle += "<@spring.message code='bracketLeft' />" + schema.title + "<@spring.message code='bracketRight' />"; - var tabUrl = $.toPath(false, contextPath, "data", schema.id, tableInfo.name, "query"); + var tabUrl = po.concatContextPath("data", schema.id, tableInfo.name, "query"); po.activeWorkTab(po.toMainTabIdForSchemaName(schema.id, tableInfo.name), data.node.text, tabTitle, tabUrl, schema); } @@ -442,7 +442,7 @@ ${detectNewVersionScript} var param = po.getSearchSchemaFormDataForTable(); param = $.extend({}, data.node.original.nextPageInfo, param); - $.ajaxJson($.toPath(false, contextPath, "schema", schemaId, "pagingQueryTable"), + $.ajaxJson(po.concatContextPath("schema", schemaId, "pagingQueryTable"), { data : param, success : function(pagingData) @@ -867,7 +867,9 @@ ${detectNewVersionScript} var schemaId = selNode.original.id; - po.open($.toPath(false, contextPath, "schema", ($item.hasClass("schema-operation-edit") ? "edit" : "view"))+"?id="+encodeURIComponent(schemaId), + var url = po.concatContextPath("schema", ($item.hasClass("schema-operation-edit") ? "edit" : "view")); + url = $.addParam(url, "id", schemaId); + po.open(url, { "pageParam" : { @@ -938,7 +940,7 @@ ${detectNewVersionScript} var prelia = $("> li > a[href='#"+tabId+"']", uiTabsNav); if(prelia.length > 0) { - $.get($.toPath(false, contextPath, "data", schemaId, tableName, "query"), function(data) + $.get(po.concatContextPath("data", schemaId, tableName, "query"), function(data) { uiTabsNav.show();