连接两个变量以使用JSTL标签检查空条件

时间:2018-07-23 10:35:30

标签: spring-boot jstl

我正在尝试在ModelMap中分别发送每个用户的图像

model.addAttribute("profileImage"+i, sb); // I have added attribute in loop

变量“ i”是我要为每个用户迭代的每个图像的索引。

现在我有 profileImage0,profileImage1,profileImage2 ,依此类推。

访问时我正在设置一些条件

<c:choose>
    <c:when test="${profileImage!=null}">
    <center><img src="${profileImage}"  id="${profileImage}" class="rounded-circle img-circle img-responsive" style="height:90px;width:90px;" alt="Avatar">
    </c:when> 
    <c:otherwise>
    <center><img src="${pageContext.request.contextPath}/resources/images/defaultuserprofile.png"  id="${profileImage}" class="rounded-circle img-circle img-responsive" style="height:90px;width:90px;" alt="Avatar"></center>
    </c:otherwise>
</c:choose> 

因此,在上述代码中,我需要在变量上附加一些索引,该操作将首先初始化变量的值,然后正确使用它而不是像这样使用它。

例如profileImage0,profileImage1等。...

1 个答案:

答案 0 :(得分:1)

您可以使用<c:forEach>标记来遍历变量。您可能希望传递控制器中具有的最大数量的值,以便知道需要从请求中选择多少个值:

<c:forEach var = "i" begin = "1" end = "${max}">
  <c:set var = "variableName" scope = "session" value = "profileName + ${i}"/>
  <c:set var = "profileImage" scope = "session" value = "${variableName}"/>
</c:forEach>

(或类似的东西...)