正在解析JSTL属性

问题描述 投票:2回答:2

我想动态生成模型属性名称并在JSP中使用它。

对于eq:

for (Integer integer : integers){    
    model.addAttribute("model_" + integer, integer);
}

model.setAttribute(“ integers”,integers);

在jsp中:

<c:foreach  items=${integers} var=integer>
 ${model_integer} // Want to Print the value but throwing error.
</c:foreach>
java spring jsp jstl
2个回答
1
投票

这应该起作用。

<c:foreach  items=${integers} var=integer>
    <c:set var="totalBuild" value="${0}"/>
    <c:set var="totalBuild" value="${totalBuild + integer "/>
    <c:set var="modelAtt" value="model_${totalBuild}" />
    ${modelAtt} 
</c:foreach>

0
投票

要打印出值,您需要使用out标记

<!-- You need to surround the values of your attributes with quotes -->
<c:foreach  items="${integers}" var="integer">
    <c:out value="${integer}" /> <!-- the var name in the for each" -->
</c:foreach>

https://www.tutorialspoint.com/jsp/jstl_core_out_tag.htm

您还应该将整数添加到某种类型的列表中,然后将该列表添加为模型属性。

© www.soinside.com 2019 - 2024. All rights reserved.