Browse Source

jfinal 4.4

James 6 years ago
parent
commit
5e00b72c37
1 changed files with 26 additions and 30 deletions
  1. 26 30
      src/main/java/com/jfinal/render/RedirectRender.java

+ 26 - 30
src/main/java/com/jfinal/render/RedirectRender.java

@@ -67,35 +67,31 @@ public class RedirectRender extends Render {
 		return result;
 	}
 	
-    @Override
-    public void render() {
-        String finalUrl = buildFinalUrl();
-
-
-        // 支持 https 协议下的重定向
-        // 跳过 http/https 已指定过协议类型的 url
-        if (!finalUrl.startsWith("http")) {
-            String serverName = request.getServerName();
-            int serverPort = request.getServerPort();
-            String scheme = request.getScheme();
-
-            if ("https".equals(scheme)) {
-                //如果https没有使用默认端口443,需要加上端口号
-                String serverPath = serverPort == 443 ? serverName : serverName + ":" + serverPort;
-                if (finalUrl.charAt(0) != '/') {
-                    finalUrl = "https://" + serverPath + "/" + finalUrl;
-                } else {
-                    finalUrl = "https://" + serverPath + finalUrl;
-                }
-            }
-        }
-
-        try {
-            // always 302
-            response.sendRedirect(finalUrl);
-        } catch (IOException e) {
-            throw new RenderException(e);
-        }
-    }
+	public void render() {
+		String finalUrl = buildFinalUrl();
+		
+		// 支持 https 协议下的重定向
+		if (!finalUrl.startsWith("http")) {	// 跳过 http/https 已指定过协议类型的 url
+			if ("https".equals(request.getScheme())) {
+				String serverName = request.getServerName();
+				int port = request.getServerPort();
+				if (port != 443) {
+					serverName = serverName + ":" + port;
+				}
+				
+				if (finalUrl.charAt(0) != '/') {
+					finalUrl = "https://" + serverName + "/" + finalUrl;
+				} else {
+					finalUrl = "https://" + serverName + finalUrl;
+				}
+			}
+		}
+		
+		try {
+			response.sendRedirect(finalUrl);	// always 302
+		} catch (IOException e) {
+			throw new RenderException(e);
+		}
+	}
 }