From bf685c72777a49703621d9368835e1d091068be6 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期四, 28 九月 2023 17:28:01 +0800 Subject: [PATCH] 修改GeoServer代理服务-2 --- src/main/java/com/moon/server/helper/HttpHelper.java | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/moon/server/helper/HttpHelper.java b/src/main/java/com/moon/server/helper/HttpHelper.java index 001a069..bc2bda9 100644 --- a/src/main/java/com/moon/server/helper/HttpHelper.java +++ b/src/main/java/com/moon/server/helper/HttpHelper.java @@ -297,16 +297,21 @@ int index = str.indexOf(StaticData.QUERYABLE); while (index > -1) { - int start = str.indexOf("<Name>", index) + StaticData.I6; int end = str.indexOf("</Layer>", index) + StaticData.I8; + int nameStart = str.indexOf("<Name>", index); + int nameEnd = str.indexOf("</Name>", nameStart); - String name = ":" + str.substring(start, str.indexOf("</Name>", start)); - if (!res.getTab().contains(name)) { + String name = ":" + str.substring(nameStart + StaticData.I6, nameEnd); + int idx = res.getTab().indexOf(name); + if (idx > -1) { + int preIdx = res.getTab().lastIndexOf(",", idx) + 1; + String prefix = res.getTab().substring(preIdx, idx); + str = str.substring(0, nameStart + StaticData.I6) + prefix + name + str.substring(nameEnd); + index = str.indexOf(StaticData.QUERYABLE, end); + } else { end = str.indexOf("<", end); str = str.substring(0, index) + str.substring(end); index = str.indexOf(StaticData.QUERYABLE, index); - } else { - index = str.indexOf(StaticData.QUERYABLE, end); } } -- Gitblit v1.9.3