以下代码无效......
从Spring Controller我将一个字符串列表放入prefferedColumn
,然后将其添加到Model(请求范围)中。另外,我将结果作为Product对象列表
<c:forEach items="${demoForm.results}" var="product">
<c:forEach items="${prefferedColumn}" var="prefColunm">
<c:set var="field" value="\$\{product.${prefColunm.colIdentifier}\}" />
<td><c:out value="${field}" /></td>
</c:forEach>
</c:forEach>
但我认为JSTL不会评估动态表达式。
c:out我的值为null。
如何评估动态JSTL表达式?
在Product.java中说我有近80个带有getter和setter的属性,但是这个登录用户只希望在列表页面上显示8个产品,其中8个属性名称存储在prefferedColumn列表中。
答案 0 :(得分:0)
这是评估动态表达式的方法,因为JSTL不这样做
<%
Object value = org.springframework.web.util.ExpressionEvaluationUtils.evaluateString(null, (String)pageContext.getAttribute("field"), pageContext);
out.println(value);
%>
然而,这有一个性能缺陷。