使用OGNL获取参数

时间:2013-04-08 20:16:34

标签: java jsp struts2 el ognl

在一个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。

1 个答案:

答案 0 :(得分:2)

包含标记的Struts2为<s:include,您应在代码中替换它,然后应用<s:param对其进行参数化。

<s:include value="/WEB-INF/somepage.jsp">
    <s:param name="location" value="menu"/>
</s:include>

之后你可以使用OGNL。