why jsp:include parameters not visible

Justin picture Justin · Apr 25, 2011 · Viewed 9.9k times · Source

I have exactly the same basic question about accessing jsp:param values as this poster; following his example exactly does not work for me. The parameters passed in via jsp:include don't seem to show up in the included file. Is there something peculiar about my setup?

Caller:

<div>
    <jsp:include page="../../../common/callee.jsp">
        <jsp:param name="justinVar" value="primary" />
    </jsp:include>      
</div>

callee.jsp:

<i>method 1: [</i><b><%= request.getParameter("justinVar") %></b><i>]</i>
<p/>
<i>method 2: [</i><b>${param.justinVar}</b><i>]</i>
<p/>
<i>method 3: [</i><b>${justinVar}</b><i>]</i>
<p/>

Final output:

method 1: [null]

method 2: []

method 3: [] 

Update: The following workaround does work, it seems wrong, but perhaps the fact that it works reveals something that is not working.

<c:set var="justinVar" value="justinVARisHere" scope="request" />
<jsp:include page="../../../common/callee.jsp" />

Answer

BalusC picture BalusC · Apr 26, 2011

To nail down the problem, try to debug/explore the entire map by printing ${param} in EL or HttpServletRequest#getParameterMap() in Java code. It must give insights about what the map really contains.