Java 如何在JSTL中打印数组对象的索引

Java 如何在JSTL中打印数组对象的索引,java,html,arrays,jstl,Java,Html,Arrays,Jstl,我在JSTL中遇到了一个问题,我有一个来自servlet中设置的请求属性的数组对象。我只想打印数组的索引。需要帮忙吗?代码如下: <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@taglib uri="/WEB-INF/tlds/Functions" prefix="func"%> <table> <tr> <td>

我在JSTL中遇到了一个问题,我有一个来自servlet中设置的请求属性的数组对象。我只想打印数组的索引。需要帮忙吗?代码如下:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="/WEB-INF/tlds/Functions" prefix="func"%>
<table>
    <tr>
        <td>
            <b>k</b> = 
        </td>
        <td>
            <table border="1">
                <c:forEach var="i" begin="0" end="${responseVector.length}">
                <tr>
                    <td>k<sub>${i}</sub></td><!-- I wish to print the indexes here -->
                </tr>
                </c:forEach>
            </table>
        </td>
        <td>
            <table border="1">
                <c:forEach var="i" items="${responseVector}">
                <tr>
                    <td>${func:roundOff(i, 4)}</td>
                </tr>
                </c:forEach>
            </table>
        </td>
    </tr>
</table>
<br/>

k=
k${i}
${func:roundOff(i,4)}

在上面的代码中,responseVector是一个双数组对象,但我希望第一个循环中的变量I在循环每次迭代时打印数组对象的索引。我的预期输出是:k0,k1,k2。。。但是我有一个例外。

试试这个:(使用
varStatus
属性)


${status.index}
将为您提供:

检索当前一轮迭代的索引。如果 正在对基础数组的子集执行迭代, 在java.lang.Collection或其他类型中,返回的索引是绝对的 关于基础集合。指数以0为基础


更多信息。

我从保利乌斯·马图利奥尼斯的建议中得到了一些帮助。以下是我使用的正确代码:

<%-- 
    Document   : DisplayResponseVector
    Created on : Sep 14, 2012, 5:33:41 PM
    Author     : Jevison7x
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="/WEB-INF/tlds/Functions" prefix="func"%>
<table>
    <tr>
        <td>
            <b>k</b> = 
        </td>
        <td> 
            <table border="1">
                <c:forEach var="i" items="${responseVector}" varStatus="sub">
                <tr>
                    <td>k<sub>${sub.count - 1}</sub></td>
                </tr>
                </c:forEach>
            </table>
        </td>
        <td>
             = 
        </td>
        <td>
            <table border="1">
                <c:forEach var="i" items="${responseVector}">
                <tr>
                    <td>${func:roundOff(i, 4)}</td>
                </tr>
                </c:forEach>
            </table>
        </td>
    </tr>
</table>
<br/>

k=
k${sub.count-1}
= 
${func:roundOff(i,4)}


上面的代码完美地完成了任务!谢谢大家。

您得到了什么例外?org.apache.jasper.jaspereException第17行14:15:16:17:18:19:20:@Jevison7x不是最有用的信息;那是什么意思?我不知道。我应该粘贴完整的Stacktrace吗?这似乎是个好主意,让我试试看。。。谢谢你的帮助。
<%-- 
    Document   : DisplayResponseVector
    Created on : Sep 14, 2012, 5:33:41 PM
    Author     : Jevison7x
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="/WEB-INF/tlds/Functions" prefix="func"%>
<table>
    <tr>
        <td>
            <b>k</b> = 
        </td>
        <td> 
            <table border="1">
                <c:forEach var="i" items="${responseVector}" varStatus="sub">
                <tr>
                    <td>k<sub>${sub.count - 1}</sub></td>
                </tr>
                </c:forEach>
            </table>
        </td>
        <td>
             = 
        </td>
        <td>
            <table border="1">
                <c:forEach var="i" items="${responseVector}">
                <tr>
                    <td>${func:roundOff(i, 4)}</td>
                </tr>
                </c:forEach>
            </table>
        </td>
    </tr>
</table>
<br/>