jsp 怎办把数据类型为List<String[]>的转成表格
时间: 2024-05-07 13:21:54 浏览: 13
你可以使用 JSP 标签库中的 `<c:forEach>` 标签和 `<table>` 标签来将 List<String[]> 转换为表格。以下是一个简单的示例:
```jsp
<table>
<thead>
<tr>
<th>列1</th>
<th>列2</th>
<th>列3</th>
</tr>
</thead>
<tbody>
<c:forEach items="${list}" var="row">
<tr>
<c:forEach items="${row}" var="cell">
<td>${cell}</td>
</c:forEach>
</tr>
</c:forEach>
</tbody>
</table>
```
在这个示例中,`${list}` 是包含 String[] 数组的 List 对象。我们使用 `<c:forEach>` 标签遍历列表中的每一行,并使用另一个 `<c:forEach>` 标签遍历每个单元格。最终,我们将表格渲染到页面上。
请注意,这只是一个简单的示例。如果你需要更复杂的表格布局或样式,请根据需要进行修改。
相关问题
java从数据库读取多行数据,将数据放在数组中传给 jsp_java数组传给jsp表格
在 Java 中从数据库中读取多行数据可以使用 JDBC,读取数据后将其存储到一个二维数组中,然后将数组作为参数传递给 JSP 页面,最后在 JSP 页面中使用 JSTL 标签库中的 forEach 标签进行遍历,将遍历的结果输出为 HTML 的表格。
下面是一个示例代码:
在 Java 中:
```java
// 假设从数据库中读取到的数据存储在 List<List<String>> 类型的变量 dataList 中
List<List<String>> dataList = ...;
String[][] arr = new String[dataList.size()][];
for (int i = 0; i < dataList.size(); i++) {
List<String> row = dataList.get(i);
arr[i] = new String[row.size()];
for (int j = 0; j < row.size(); j++) {
arr[i][j] = row.get(j);
}
}
request.setAttribute("arr", arr);
```
在 JSP 中:
```jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<table>
<c:forEach var="row" items="${arr}">
<tr>
<c:forEach var="cell" items="${row}">
<td>${cell}</td>
</c:forEach>
</tr>
</c:forEach>
</table>
```
这段代码会输出一个包含从数据库中读取到的所有数据的 HTML 表格。
jsp中ajax请求后端接口并通过js进行表格渲染
下面是一个示例代码,可以通过Ajax请求后端接口获取数据,并使用JavaScript渲染表格:
1. jsp页面代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>表格渲染</title>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
</head>
<body>
<table id="table"></table>
<script>
$(document).ready(function(){
$.ajax({
url: "api/data", // 后端接口地址
type: "GET", // 请求类型
dataType: "json", // 返回数据类型
success: function(data){
// 渲染表格
var table = $("#table");
var tbody = $("<tbody>");
for(var i=0; i<data.length; i++){
var tr = $("<tr>");
var td1 = $("<td>").text(data[i].name);
var td2 = $("<td>").text(data[i].age);
tr.append(td1, td2);
tbody.append(tr);
}
table.append(tbody);
},
error: function(){
alert("请求失败!");
}
});
});
</script>
</body>
</html>
```
2. 后端接口代码:
```java
package com.example.demo;
import java.util.ArrayList;
import java.util.List;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ApiController {
@GetMapping("/api/data")
public List<User> getData(){
List<User> users = new ArrayList<>();
User user1 = new User("Tom", 20);
User user2 = new User("Jack", 22);
User user3 = new User("Lucy", 21);
users.add(user1);
users.add(user2);
users.add(user3);
return users;
}
class User{
private String name;
private int age;
public User(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
}
```
在这个示例中,我们使用了Spring Boot框架来搭建后端接口,使用Ajax发送GET请求来获取数据,然后使用jQuery将数据渲染到表格中。需要注意的是,后端接口应该返回符合JSON格式的数据。