【发布时间】:2020-04-26 16:31:33
【问题描述】:
【问题讨论】:
【问题讨论】:
试试这个程序。希望能解决你的问题
import java.util.ArrayList;
import java.util.List;
List<Integer> al = new ArrayList<Integer>();
al.add(0);
al.add(0);
al.add(1);
al.add(1);
al.add(1);
al.add(5);
Integer[] arr = new Integer[al.size()];
arr = al.toArray(arr);
for (Integer x : arr)
System.out.print(x + " ");
输出是:
0
0
1
1
1
5
【讨论】:
al.toArray() 返回一个Object[] 而不是Integer[]。应该改用al.toArray(new Integer[al.size()])。
al.toArray()
正如@Scary Wombat 在his answer 中指出的那样,JSTL 更适合您的情况。
但是,如果你想使用 JSP,你可以这样做。
您的主要问题是result 是List 的Map 而不仅仅是List。您只需输出List 中的每个Map。
您调用.toArray,它返回一个Object[]。我建议您只遍历List:
for(int i=12;i<result.size;i++){}%><%=result.get(i);%><%}<%
这样,您的输出是相同的,但您可以以Map 而不仅仅是Object 访问结果。如果要获取整数,可以使用.get("jn");
代码是:
for(int i=12;i<result.size();i++){}%><%=result.get(i).get("jn")%><%}<%
您还可以使用 java 8 流输出元素:
%><%=result.stream().filter(map->map.get("jn")).collect(java.util.streams.Collectors.joining(","))%><%
另一种可能性是创建一个List<Integer> 并调用result.add(rs.getInt(3));
【讨论】:
在 JSP 文件中最好使用 JSTL 而不是 java
假设属性名为rs
<c:forEach items="rs" var="value">
<c:out value="${value}"/>
</c:forEach>
有关使用 JSTL 的用法,另请参阅 https://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm
【讨论】:
List 的 Maps。所以你必须打电话给${value.get("jn")}。