Jsp 遍历EL中项目的所有属性

Jsp 遍历EL中项目的所有属性,jsp,jstl,el,Jsp,Jstl,El,巴卢斯克也许能帮我回答这个问题 我有一个字符串列表,我将其设置为请求对象中的属性。这些字符串中的每一个都代表一个表头,我将在页面上打印出来 然后,我将为我在别处得到的每一个“process”类型的对象包含一个jsp。每个流程对象都具有相同的属性,但有些属性已填充,有些属性未填充 这就是目标:对于每个进程,循环遍历列名列表中的每个字符串。如果此进程上与字符串匹配的属性具有值,则我希望显示该值,否则将保留该单元格为空 基本上,我要求的是一种在EL和JSTL中执行递归的方法,这样我就可以检查流程中的每

巴卢斯克也许能帮我回答这个问题

我有一个字符串列表,我将其设置为请求对象中的属性。这些字符串中的每一个都代表一个表头,我将在页面上打印出来

然后,我将为我在别处得到的每一个“process”类型的对象包含一个jsp。每个流程对象都具有相同的属性,但有些属性已填充,有些属性未填充

这就是目标:对于每个进程,循环遍历列名列表中的每个字符串。如果此进程上与字符串匹配的属性具有值,则我希望显示该值,否则将保留该单元格为空

基本上,我要求的是一种在EL和JSTL中执行递归的方法,这样我就可以检查流程中的每个属性

如果这些都没有意义或者你需要更多的解释,请询问

编辑

<c:forEach items="${colNames}" var="cName"><%--colNames is the list of strings --%>
    <c:forEach items="${item.values}" var="value"><%--item is the process whose attributes I want to iterate through --%>
            <c:if test="item has attribute that matches cName">
                <td><c:out value="${value}"/></td><%--if item has an attribute that matches the string in the list, then I want to print out the value of that attribute--%>
            </c:if>
    </c:forEach>
</c:forEach>

试试这个:

<c:forEach items="${colNames}" var="cName">
    <c:forEach items="${item.values}" var="value">
            <c:choose>
               <c:when test="${cName==value}">
                   <td><c:out value="${cName}"/></td>
               </c:when>
               <c:otherwise>
                   <td></td>
               </c:otherwise>
            </c:choose>
    </c:forEach>
</c:forEach>


或者这不是你的意思吗?我将添加一个编辑,以便更清晰。哇!为什么要投反对票?