+++ /dev/null
-<%@ page import="java.util.*, java.io.*, java.net.*, user.jobengine.zk.util.SessionUtil, org.apache.logging.log4j.*"%>\r
-<%\r
- //do login ++++\r
- String targetPath = null;\r
- if (SessionUtil.isAuthenticated())\r
- targetPath = "/pages/index.zul";\r
- else\r
- targetPath = "/pages/login.zul";\r
- \r
- String queryString = request.getQueryString();\r
- if (queryString != null)\r
- targetPath += "?" + queryString;\r
- LogManager.getLogger().info("Forwaring to {}", targetPath);\r
- pageContext.forward(targetPath);\r
- \r
-%>
\ No newline at end of file
}\r
\r
public void route(String action, String query) {\r
+ String queryString = query == null ? "" : query;\r
String actionString = action == null ? "/" : action;\r
String page = (String) pathMap.get(actionString);\r
- if (query != null)\r
- page = String.format("/pages/%s.zul%s", page, query);\r
- else\r
- page = String.format("/pages/%s.zul", page);\r
- setPage(page);\r
- pushClientHistory(actionString, query);\r
- SessionUtil.pushHistory(actionString, query);\r
+ setPage(String.format("/pages/%s.zul%s", page, queryString));\r
+ pushClientHistory(actionString, queryString);\r
+ SessionUtil.pushHistory(actionString, queryString);\r
}\r
\r
public void setPage(String page) {\r
import java.io.FileInputStream;\r
import java.io.InputStream;\r
import java.util.ArrayList;\r
+import java.util.Collections;\r
import java.util.List;\r
import java.util.Map;\r
import java.util.Properties;\r
}\r
\r
static public String getQueryString() {\r
- HttpServletRequest request = (HttpServletRequest) Executions.getCurrent().getNativeRequest();\r
- String result = request.getQueryString();\r
- result = result == null ? "" : "?" + result;\r
- return result;\r
+ return getQueryString(null);\r
}\r
\r
static public String getQueryString(List<String> exclude) {\r
Map<String, String[]> parameters = request.getParameterMap();\r
if (parameters != null && parameters.size() > 0) {\r
StringBuilder sb = new StringBuilder();\r
- for (String key : parameters.keySet()) {\r
- if (exclude.contains(key))\r
+\r
+ ArrayList<String> keys = new ArrayList<>(parameters.keySet());\r
+ Collections.sort(keys);\r
+ for (String key : keys) {\r
+ if (exclude != null && exclude.contains(key))\r
continue;\r
if (sb.length() == 0)\r
sb.append("?");\r