Partial scriptlet does not function properly in a JSP tag attribute with EAP 7.4.10+

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content