如何在JSP文件中以表格格式显示列表内容?

在Action.java文件中,正在使用以下代码。

request.setAttribute("TAREWEIGHT", tareWeightList);

request.setAttribute("BARCODE", barcodeList);

return (mapping.findForward(target));

tareWeightList和BarcodeList实际上包含几个值。将列表值设置为属性后,java文件会将内容转发到JSP文件。

在JSP文件中,我可以使用下面的行获取内容,

<%=request.getAttribute("TAREWEIGHT")%>

<%=request.getAttribute("BARCODE") %>

我的要求是,该列表的内容应以表格格式显示。

第一列中的条形码值和第二列中的对应的皮重值。

向我提出一个在JSP文件中编写代码的想法,以便使内容以列表格式显示。

回答:

使用HTML <table>元素表示HTML中的表格。使用JSTL <c:forEach>遍历JSP中的列表。

例如

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

...

<table>

<c:forEach items="${list}" var="item">

<tr>

<td><c:out value="${item}" /></td>

</tr>

</c:forEach>

</table>

您的代码中只有一个设计缺陷。您已将相关数据划分为2个独立的列表。最终的方法会像

<table>

<c:forEach items="${TAREWEIGHT}" var="tareWeight" varStatus="loop">

<c:set var="barCode" value="${BARCODE[loop.index]}" />

<tr>

<td><c:out value="${tareWeight}" /></td>

<td><c:out value="${barCode}" /></td>

</tr>

</c:forEach>

</table>

我建议创建一个自定义类以将相关数据存储在一起。例如

public class Product {

private BigDecimal tareWeight;

private String barCode;

// Add/autogenerate getters/setters/equals/hashcode and other boilerplate.

}

因此您最终得到一个List<Product>可以表示为的:

<table>

<c:forEach items="${products}" var="product">

<tr>

<td><c:out value="${product.tareWeight}" /></td>

<td><c:out value="${product.barCode}" /></td>

</tr>

</c:forEach>

</table>

将其放入请求范围后,如下所示:

request.setAttribute("products", products);

以上是 如何在JSP文件中以表格格式显示列表内容? 的全部内容, 来源链接: utcz.com/qa/398903.html

回到顶部