我有一个二维数组,其中包含结果集中的值:
while (rs.next())
{
for( j=0; j<3; j++)
{
a[i][j] = rs.getString(j+1);
}
i++;
}
return a;
我在jsp页面中将其显示为-
<select name="ref_name">
<c:forEach var="aff" items="${obj.connect()}">
<option value="${aff}">${aff}</option>
</c:forEach>
</select>
其中 obj 是 bean id,connect 是返回 String[][] 的方法。但是当我运行它时,我得到的值为 [Ljava.lang.String@381a9c。 我知道这是显示的数组的引用,但不是值。如何纠正它?
最佳答案
当您尝试迭代 Map
时,您需要访问它的键和值,
<select name="ref_name">
<c:forEach var="aff" items="${obj.connect()}">
<option value="${aff.key}">${aff.value}</option>
</c:forEach>
</select>
将打印 map 上的值。
编辑:
根据您在访问 2D
数组的问题中的编辑,只需迭代数组内的数组
<select name="ref_name">
<c:forEach var="aff" items="${obj.connect()}" >
<c:forEach var="secondVar" items="${aff}" >
<option value="${secondVar}">${secondVar}</option> // printing the value here
</c:forEach>
</c:forEach>
</select>
希望这有帮助!!
关于java - 通过jSTL在jsp中显示数组值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28409869/