.jsp动态table创作
.jsp dynamic table creation
我正在尝试在 .jsp
中创建动态 table。我一直在尝试通过以下方式通过 scriptlet 这样做(这是伪代码):
<%
PrintWriter writer = response.getWriter();
writer.println("<table>");
while(records in request object){
writer.println("<tr>" + request.getAttribute().toString() + "</tr>");
}
writer.println("</table");
writer.close();
%>
虽然上述方法可以而且确实有效,但不推荐使用,而且可能不是完成此任务的最佳方法。
关于我的观点和问题 - 是否有更好的方法来创建此类动态内容?
您可以使用 "out" 打印到响应。你为什么做第一行?你从哪里得到的?
您只需执行以下操作:
<%
out.println("<table>");
while (records in request object){
out.println("<tr>" + request.getAttribute().toString() + "</tr>");
}
out.println("</table>");
%>
不用scriptlet也可以做到:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${not empty request.records}">
<table>
<c:forEach items="${request.records}" var="record">
<tr><td> ${record} </td></tr>
</c:forEach>
</table>
</c:if>
您需要在 class 路径上包含 JSTL 依赖项,并在 Spring.
中配置它
如果您已经在 Spring 中配置了它,那么您可以这样动态创建 tds:
<table>
<thead>
<tr>
<th>Item1</th>
<th>Item2</th>
<th>Item3</th>
</tr>
</thead>
<tbody>
<c: forEach items="${menus}" var="menu" varStatus="status">
<tr>
<td>${menu.item1}</td>
<td>${menu.item2}</td>
<td>${menu.item3}</td>
</tr>
</c: forEach>
</tbody>
</table >
这个${menus}
是一个来自后端的列表 这是一个POJO列表,包含3个字段item1,item2,item3。
您还需要在 .jsp 文件中包含 c 名称 space:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
互联网上有大量这样的例子。只要看看 Spring MVC 和 JSTL 以及 Table。你会发现很多结果。
我正在尝试在 .jsp
中创建动态 table。我一直在尝试通过以下方式通过 scriptlet 这样做(这是伪代码):
<%
PrintWriter writer = response.getWriter();
writer.println("<table>");
while(records in request object){
writer.println("<tr>" + request.getAttribute().toString() + "</tr>");
}
writer.println("</table");
writer.close();
%>
虽然上述方法可以而且确实有效,但不推荐使用,而且可能不是完成此任务的最佳方法。
关于我的观点和问题 - 是否有更好的方法来创建此类动态内容?
您可以使用 "out" 打印到响应。你为什么做第一行?你从哪里得到的?
您只需执行以下操作:
<%
out.println("<table>");
while (records in request object){
out.println("<tr>" + request.getAttribute().toString() + "</tr>");
}
out.println("</table>");
%>
不用scriptlet也可以做到:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:if test="${not empty request.records}">
<table>
<c:forEach items="${request.records}" var="record">
<tr><td> ${record} </td></tr>
</c:forEach>
</table>
</c:if>
您需要在 class 路径上包含 JSTL 依赖项,并在 Spring.
中配置它如果您已经在 Spring 中配置了它,那么您可以这样动态创建 tds:
<table>
<thead>
<tr>
<th>Item1</th>
<th>Item2</th>
<th>Item3</th>
</tr>
</thead>
<tbody>
<c: forEach items="${menus}" var="menu" varStatus="status">
<tr>
<td>${menu.item1}</td>
<td>${menu.item2}</td>
<td>${menu.item3}</td>
</tr>
</c: forEach>
</tbody>
</table >
这个${menus}
是一个来自后端的列表 这是一个POJO列表,包含3个字段item1,item2,item3。
您还需要在 .jsp 文件中包含 c 名称 space:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
互联网上有大量这样的例子。只要看看 Spring MVC 和 JSTL 以及 Table。你会发现很多结果。