-
Type: Bug
-
Status: Done
-
Priority: Medium
-
Resolution: Done
-
Affects Version/s: 1.16.2
-
Fix Version/s: 1.17.0
-
Component/s: appng-core
-
Labels:None
I have included a custom xsl and js dependency as described in Section 4.6 here: https://appng.org/appng/docs/current/reference/html/developerguide.html#custom-xsl-stylesheets
the js path is not correctly resolved under Windows. Backslashes are removed in StaticContentHandler.serveTemplateResource and the following Exception is thrown.
java.lang.IllegalArgumentException: The resource path [WEB-INFcacheplatformmanagermyapp/resources/colorpicker/jquery.colorpicker.js] is not valid Description The server encountered an unexpected condition that prevented it from fulfilling the request. Exception javax.servlet.ServletException: java.lang.IllegalArgumentException: The resource path [WEB-INFcacheplatformmanagermyapp/resources/colorpicker/jquery.colorpicker.js] is not valid net.sf.ehcache.constructs.web.filter.Filter.logThrowable(Filter.java:143) net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:91) org.appng.core.controller.filter.XSSFilter.doFilter(XSSFilter.java:77) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) Root Cause java.lang.IllegalArgumentException: The resource path [WEB-INFcacheplatformmanagermyapp/resources/colorpicker/jquery.colorpicker.js] is not valid org.apache.catalina.webresources.StandardRoot.validate(StandardRoot.java:250) org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:212) org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:206) org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServlet.java:757) org.appng.core.controller.Tomcat8Support.serveResource(Tomcat8Support.java:35) org.appng.core.controller.Controller.serveResource(Controller.java:134) org.appng.core.controller.Controller.serveResource(Controller.java:139) org.appng.core.controller.handler.StaticContentHandler.serveStatic(StaticContentHandler.java:129) org.appng.core.controller.handler.StaticContentHandler.serveTemplateResource(StaticContentHandler.java:168) org.appng.core.controller.handler.StaticContentHandler.handle(StaticContentHandler.java:87) org.appng.core.controller.Controller.doGet(Controller.java:253) javax.servlet.http.HttpServlet.service(HttpServlet.java:635) org.apache.catalina.servlets.DefaultServlet.service(DefaultServlet.java:418) javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.appng.core.controller.filter.JspExtensionFilter.doFilter(JspExtensionFilter.java:120) org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176) org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145) org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92) org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:389) org.appng.core.controller.filter.PageCacheFilter.doFilter(PageCacheFilter.java:108) net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86) org.appng.core.controller.filter.XSSFilter.doFilter(XSSFilter.java:77) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)