diff --git a/maxkey-core/src/main/java/org/maxkey/web/WebContext.java b/maxkey-core/src/main/java/org/maxkey/web/WebContext.java index ef6ecbed3..30865c64e 100644 --- a/maxkey-core/src/main/java/org/maxkey/web/WebContext.java +++ b/maxkey-core/src/main/java/org/maxkey/web/WebContext.java @@ -59,6 +59,8 @@ public final class WebContext { public static ApplicationContext applicationContext; + public final static String ipAddressRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"; + public static ArrayList sessionAttributeNameList = new ArrayList(); static { @@ -199,13 +201,20 @@ public final class WebContext { _logger.trace("Config DomainName " + applicationConfig.getDomainName()); _logger.trace("ServerName " + httpServletRequest.getServerName()); - String scheme = httpServletRequest.getScheme().toLowerCase(); - String httpContextPath = scheme + "://"+httpServletRequest.getServerName(); - int port = httpServletRequest.getServerPort(); - if(!(port==80 || port==443)){ - httpContextPath += ":"+port; + String httpContextPath =""; + + if (httpServletRequest.getServerName().matches(ipAddressRegex) + ||httpServletRequest.getServerName().equalsIgnoreCase("localhost")) { + String scheme = httpServletRequest.getScheme().toLowerCase(); + httpContextPath = scheme + "://"+httpServletRequest.getServerName(); + int port = httpServletRequest.getServerPort(); + if(!(port==80 || port==443)){ + httpContextPath += ":"+port; + } + httpContextPath += httpServletRequest.getContextPath() + ""; + }else { + httpContextPath = applicationConfig.getServerName() + httpServletRequest.getContextPath() + ""; } - httpContextPath += httpServletRequest.getContextPath() + ""; _logger.trace("httpContextPath " + httpContextPath); return httpContextPath; diff --git a/maxkey-core/src/main/java/org/maxkey/web/tag/CurrUrlTagDirective.java b/maxkey-core/src/main/java/org/maxkey/web/tag/CurrUrlTagDirective.java new file mode 100644 index 000000000..a5708fd72 --- /dev/null +++ b/maxkey-core/src/main/java/org/maxkey/web/tag/CurrUrlTagDirective.java @@ -0,0 +1,56 @@ +/* + * Copyright [2020] [MaxKey of copyright http://www.maxkey.top] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package org.maxkey.web.tag; + +import java.io.IOException; +import java.util.Map; + +import javax.servlet.http.HttpServletRequest; + +import org.springframework.beans.factory.annotation.Autowired; + +import freemarker.core.Environment; +import freemarker.template.TemplateDirectiveBody; +import freemarker.template.TemplateDirectiveModel; +import freemarker.template.TemplateException; +import freemarker.template.TemplateModel; +/** + * 获取当前页面地址标签 + * <@currUrl/> + * @author Crystal.Sea + * + */ + +@FreemarkerTag("currUrl") +public class CurrUrlTagDirective implements TemplateDirectiveModel { + @Autowired + private HttpServletRequest request; + + @Override + public void execute(Environment env, Map params, TemplateModel[] loopVars, TemplateDirectiveBody body) + throws TemplateException, IOException { + //String url = params.get(URL).toString(); + + String currUrl=request.getRequestURI(); + + env.getOut().append(currUrl); + + + } + +} diff --git a/maxkey-web-maxkey/src/main/resources/templates/views/index.ftl b/maxkey-web-maxkey/src/main/resources/templates/views/index.ftl index dd467d3a4..96ef514ed 100644 --- a/maxkey-web-maxkey/src/main/resources/templates/views/index.ftl +++ b/maxkey-web-maxkey/src/main/resources/templates/views/index.ftl @@ -8,6 +8,6 @@ " /> - + \ No newline at end of file diff --git a/maxkey-web-maxkey/src/main/resources/templates/views/layout/nologintop.ftl b/maxkey-web-maxkey/src/main/resources/templates/views/layout/nologintop.ftl index 115094db7..60eb3a132 100644 --- a/maxkey-web-maxkey/src/main/resources/templates/views/layout/nologintop.ftl +++ b/maxkey-web-maxkey/src/main/resources/templates/views/layout/nologintop.ftl @@ -14,10 +14,10 @@ <@locale code="global.change.language"/> :
- + <@locale code="global.change.language.en"/> | - + <@locale code="global.change.language.zh"/>