gpt4 book ai didi

java - 如何一次打印一行值,如何在 JSTL 中迭代列表

转载 作者:行者123 更新时间:2023-11-30 11:21:37 25 4
gpt4 key购买 nike

我正在开发 Web 应用程序。在 jsp 页面中,我正在使用 Scriptlets 标记迭代列表。但我想在 JSTL 中执行相同的结果。我该怎么做?

这里的列表包含数据库的列名。

这里eList包含表数据(表的值)

下面是我的 JSP 代码:

  <table border="1" cellpadding="5" cellspacing="5">
<tbody>

<tr>
<th>SNO</th>
<c:forEach var="column" items="${list}">
<th> ${column} </th>
</c:forEach>
</tr>

//For above list JSTL exectude successfully but while doing below list is not possible

<%List eList =(Vector)request.getAttribute("list1");
Integer s1 = (Integer) request.getAttribute("sno");
Iterator it = eList.iterator();
while (it.hasNext()) {
%>
<tr> <td><%=++s1%></td><%
Object[] row = (Object[]) it.next();
for (int k = 0; k < row.length; k++) {
%>
<td> <%=row[k]%></td>
<% }%>
</tr>
<%
}
%>
</tbody>
</table>

服务代码

获取表格数据.java:

public class GetTableData extends HttpServlet
{
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
Query query1 = entityManager.createNativeQuery("select * from "
+ schemaName + "." + tableName + "");

totalNumberOfRecords = query1.getResultList().size();
query1.setFirstResult(newPageIndex);
query1.setMaxResults(numberOfRecordsPerPage);

List list1 = query1.getResultList();
System.out.println("testszenario" + testszenario.size());
System.out.println(testszenario);

request.setAttribute("list1", list1);
request.getRequestDispatcher("/TableResult.jsp").forward(request,
response);
}
}

我怎样才能用 JSTL 标签做那个。非常感谢你

最佳答案

list1 在请求范围内,因此您可以像以前一样进行迭代,以打印 SR.No。你可以使用 LoopTagStatus

<c:forEach var="data" items="${list1}" varStatus="loop">
<td> ${loop.count} </td>
<td> ${data} </td>
</c:forEach>

记住

${loop.index} starts from 0
${loop.count} starts from 1

另见

关于java - 如何一次打印一行值,如何在 JSTL 中迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22142731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com