Commit bfe931739a02b1b8e56d9beb9a0c6a6cf3264ca9
1 parent
5e87d1bc
1.解决打jar包时刷新问题
Showing
2 changed files
with
85 additions
and
71 deletions
src/main/java/com/bsth/filter/ResourceFilter.java
| 1 | -package com.bsth.filter; | |
| 2 | - | |
| 3 | -import com.bsth.util.RequestUtils; | |
| 4 | -import org.apache.commons.lang3.StringUtils; | |
| 5 | - | |
| 6 | -import javax.servlet.FilterChain; | |
| 7 | -import javax.servlet.ServletException; | |
| 8 | -import javax.servlet.http.HttpServletRequest; | |
| 9 | -import javax.servlet.http.HttpServletResponse; | |
| 10 | -import java.io.File; | |
| 11 | -import java.io.IOException; | |
| 12 | - | |
| 13 | -/** | |
| 14 | - * @author PanZhao | |
| 15 | - * @ClassName: ResourceFilter | |
| 16 | - * @Description: TODO(HTML片段过滤器) | |
| 17 | - * @date 2016年3月19日 下午10:10:11 | |
| 18 | - */ | |
| 19 | -public class ResourceFilter extends BaseFilter { | |
| 20 | - | |
| 21 | - String[] params = new String[]{"no"}; | |
| 22 | - | |
| 23 | - @Override | |
| 24 | - public void doFilter(HttpServletRequest request, | |
| 25 | - HttpServletResponse response, FilterChain chain) | |
| 26 | - throws IOException, ServletException { | |
| 27 | - | |
| 28 | - String uri = request.getRequestURI(); | |
| 29 | - String origin = request.getParameter("origin"); | |
| 30 | - int len = uri.length(); | |
| 31 | - if (RequestUtils.isAjaxRequest(request) | |
| 32 | - || (origin != null && origin.equals("real_control_iframe"))//来自线调 iframe 的请求 | |
| 33 | - || !uri.substring(len - 5, len).equals(".html")) { | |
| 34 | - super.doFilter(request, response, chain); | |
| 35 | - } else { | |
| 36 | - | |
| 37 | - String fPath = this.getClass().getResource("/").getPath() | |
| 38 | - + "static/" + uri; | |
| 39 | - | |
| 40 | - File f = new File(fPath); | |
| 41 | - | |
| 42 | - | |
| 43 | - if (f.exists() && f.isFile()) { | |
| 44 | - request.getRequestDispatcher("/?initFragment=" + joinParam(request)).forward(request, response); | |
| 45 | - } else | |
| 46 | - response.sendRedirect("/"); | |
| 47 | - } | |
| 48 | - } | |
| 49 | - | |
| 50 | - /** | |
| 51 | - * 拼接参数 | |
| 52 | - * | |
| 53 | - * @param request | |
| 54 | - * @return | |
| 55 | - */ | |
| 56 | - public String joinParam(HttpServletRequest request) { | |
| 57 | - | |
| 58 | - StringBuilder sb = new StringBuilder(); | |
| 59 | - | |
| 60 | - String v, url = request.getRequestURI(); | |
| 61 | - for (String p : params) { | |
| 62 | - v = request.getParameter(p); | |
| 63 | - if (!StringUtils.isEmpty(v)) | |
| 64 | - sb.append("&" + p + "=" + v); | |
| 65 | - } | |
| 66 | - | |
| 67 | - if (sb.length() > 0) | |
| 68 | - url += "?" + sb.substring(1, sb.length()); | |
| 69 | - return url; | |
| 70 | - } | |
| 71 | -} | |
| 1 | +package com.bsth.filter; | |
| 2 | + | |
| 3 | +import com.bsth.util.RequestUtils; | |
| 4 | +import org.apache.commons.lang3.StringUtils; | |
| 5 | +import org.slf4j.Logger; | |
| 6 | +import org.slf4j.LoggerFactory; | |
| 7 | + | |
| 8 | +import javax.servlet.FilterChain; | |
| 9 | +import javax.servlet.ServletException; | |
| 10 | +import javax.servlet.http.HttpServletRequest; | |
| 11 | +import javax.servlet.http.HttpServletResponse; | |
| 12 | +import java.io.File; | |
| 13 | +import java.io.IOException; | |
| 14 | + | |
| 15 | +/** | |
| 16 | + * @author PanZhao | |
| 17 | + * @ClassName: ResourceFilter | |
| 18 | + * @Description: TODO(HTML片段过滤器) | |
| 19 | + * @date 2016年3月19日 下午10:10:11 | |
| 20 | + */ | |
| 21 | +public class ResourceFilter extends BaseFilter { | |
| 22 | + | |
| 23 | + private Logger log = LoggerFactory.getLogger(ResourceFilter.class); | |
| 24 | + | |
| 25 | + String[] params = new String[]{"no"}; | |
| 26 | + | |
| 27 | + @Override | |
| 28 | + public void doFilter(HttpServletRequest request, | |
| 29 | + HttpServletResponse response, FilterChain chain) | |
| 30 | + throws IOException, ServletException { | |
| 31 | + | |
| 32 | + String uri = request.getRequestURI(); | |
| 33 | + String origin = request.getParameter("origin"); | |
| 34 | + int len = uri.length(); | |
| 35 | + if (RequestUtils.isAjaxRequest(request) | |
| 36 | + || (origin != null && origin.equals("real_control_iframe"))//来自线调 iframe 的请求 | |
| 37 | + || !uri.substring(len - 5, len).equals(".html")) { | |
| 38 | + log.error("ajax:" + RequestUtils.isAjaxRequest(request) + " origin:" + (origin != null && origin.equals("real_control_iframe")) + " uri:" + uri); | |
| 39 | + super.doFilter(request, response, chain); | |
| 40 | + } else { | |
| 41 | + | |
| 42 | +// String fPath = this.getClass().getResource("/").getPath() | |
| 43 | +// + "static" + uri; | |
| 44 | +// | |
| 45 | +// File f = new File(fPath); | |
| 46 | +// | |
| 47 | +// | |
| 48 | +// if (f.exists() && f.isFile()) { | |
| 49 | +// log.error("joinParam:" + joinParam(request)); | |
| 50 | +// request.getRequestDispatcher("/?initFragment=" + joinParam(request)).forward(request, response); | |
| 51 | +// } else { | |
| 52 | +// log.error("sendRedirect:" + fPath); | |
| 53 | +// response.sendRedirect("/"); | |
| 54 | +// } | |
| 55 | + request.getRequestDispatcher("/?initFragment=" + joinParam(request)).forward(request, response); | |
| 56 | + } | |
| 57 | + } | |
| 58 | + | |
| 59 | + /** | |
| 60 | + * 拼接参数 | |
| 61 | + * | |
| 62 | + * @param request | |
| 63 | + * @return | |
| 64 | + */ | |
| 65 | + public String joinParam(HttpServletRequest request) { | |
| 66 | + | |
| 67 | + StringBuilder sb = new StringBuilder(); | |
| 68 | + | |
| 69 | + String v, url = request.getRequestURI(); | |
| 70 | + for (String p : params) { | |
| 71 | + v = request.getParameter(p); | |
| 72 | + if (!StringUtils.isEmpty(v)) | |
| 73 | + sb.append("&" + p + "=" + v); | |
| 74 | + } | |
| 75 | + | |
| 76 | + if (sb.length() > 0) | |
| 77 | + url += "?" + sb.substring(1, sb.length()); | |
| 78 | + return url; | |
| 79 | + } | |
| 80 | +} | ... | ... |
src/main/resources/static/index.html
| ... | ... | @@ -545,6 +545,11 @@ |
| 545 | 545 | dictionaryUtils.transformDom(dicts); |
| 546 | 546 | }); |
| 547 | 547 | |
| 548 | + $(document).on('pjax:error', function (e) { | |
| 549 | + alert('无效的url'); | |
| 550 | + e.preventDefault(); | |
| 551 | + }); | |
| 552 | + | |
| 548 | 553 | function loadPage(url) { |
| 549 | 554 | $.pjax({url: url, container: pjaxContainer}) |
| 550 | 555 | } | ... | ... |