java – 使用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.

最佳答案 相当于include标记的Struts2是< s:include,这是你应该在代码中替换的内容,然后应用< s:param来对它进行参数化.

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

之后你可以使用OGNL.

点赞