Partial scriptlet does not function properly in a JSP tag attribute with EAP 7.4.10+
Issue
- We previously used partial scriptlets in JSP tags on EAP 7.1.5 - 7.4.9, for example:
<jsp:include page="include.jsp?param=<%=request.getAttribute(\"value\")%>"/>
- Updating to EAP 7.4.10+, these no longer properly function. The partial scriptlet in an include tag leads to an error like the following as the scriptlet is passed in the URL now unresolved as a plain string:
Caused by: io.undertow.util.UrlDecodeException: UT000072: Failed to decode url <%=request.getAttribute("value")%> to charset UTF-8
at io.undertow.util.URLUtils.decode(URLUtils.java:167)
at io.undertow.util.URLUtils$QueryStringParser.decode(URLUtils.java:300)
at io.undertow.util.URLUtils$QueryStringParser.parse(URLUtils.java:282)
at io.undertow.util.URLUtils.parseQueryString(URLUtils.java:64)
at io.undertow.server.Connectors.setExchangeRequestPath(Connectors.java:502)
at io.undertow.server.Connectors.setExchangeRequestPath(Connectors.java:466)
at io.undertow.servlet.util.DispatchUtils.assignRequestPath(DispatchUtils.java:238)
at io.undertow.servlet.util.DispatchUtils.dispatchInclude(DispatchUtils.java:119)
at io.undertow.servlet.spec.RequestDispatcherImpl.includeImpl(RequestDispatcherImpl.java:321)
at io.undertow.servlet.spec.RequestDispatcherImpl.setupIncludeImpl(RequestDispatcherImpl.java:285)
at io.undertow.servlet.spec.RequestDispatcherImpl.include(RequestDispatcherImpl.java:249)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:912)
at org.apache.jsp.include._jspService(crewganttframeset_jsp.java:215)
Environment
- JBoss EAP 7.4.10+
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.