在一个JSP页面中,我包含另一个JSP页面并传递参数:
<jsp:include page="/WEB-INF/somepage.jsp" flush="true">
<jsp:param name="location" value="menu"/>
</jsp:include>
在包含的页面中,我可以使用EL访问参数。这有效:
${param.location}
但我不能使用OGNL等效来获得相同的参数。这些都不起作用:
#parameters.location
#parameters['location']
%{#parameters.location}
%{#parameters['location']}
我知道使用<s:set var="location">${param.location}</s:set>
或<c:set var="location">${param.location}</c:set>
然后使用OGNL进行解决方法:#location
但我想避免这种情况。我也不想使用scriptlet。
答案 0 :(得分:2)
包含标记的Struts2为<s:include
,您应在代码中替换它,然后应用<s:param
对其进行参数化。
<s:include value="/WEB-INF/somepage.jsp">
<s:param name="location" value="menu"/>
</s:include>
之后你可以使用OGNL。