jsp 保存List的方式
时间: 2023-08-29 08:07:04 浏览: 153
在 JSP 中保存 List 的方式有很多,以下是其中一种常见的方式:
1. 在 JSP 页面中使用 JSTL 标签库进行遍历和输出 List。
```
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
...
<c:forEach var="item" items="${list}">
${item}<br>
</c:forEach>
```
2. 将 List 存储在 ServletRequest、HttpSession 或 ServletContext 中,然后在 JSP 中取出并遍历输出。
在 Servlet 中存储 List:
```
List<String> list = new ArrayList<>();
request.setAttribute("list", list);
```
在 JSP 中取出并遍历输出:
```
<%
List<String> list = (List<String>) request.getAttribute("list");
for (String item : list) {
out.println(item + "<br>");
}
%>
```
3. 使用 AJAX 技术将 List 传递到前端,然后在前端使用 JavaScript 进行遍历和输出。
这些都是比较常见的方式,具体的实现方式可以根据具体场景和需求选择。
相关问题
先定义一个Student类(类中属性自行设置),然后在Servlet中实例化6个Student对象,将这6个对象存放到一个List集合中,然后将该List集合保存到request对象里,再将request请求转发到test.jsp,最后在test.jsp页面中利用JSTL+EL显示List集合中的6个Student对象的具体信息
好的,以下是示例代码:
```
// Student类定义
public class Student {
private String name;
private int age;
private String gender;
// 构造方法
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
// getter和setter方法
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;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
```
在Servlet中实例化6个Student对象,并将它们添加到List集合中:
```
List<Student> studentList = new ArrayList<>();
studentList.add(new Student("Tom", 18, "male"));
studentList.add(new Student("Lucy", 20, "female"));
studentList.add(new Student("John", 19, "male"));
studentList.add(new Student("Lily", 21, "female"));
studentList.add(new Student("Mike", 22, "male"));
studentList.add(new Student("Sarah", 20, "female"));
// 将List集合保存到request对象中
request.setAttribute("studentList", studentList);
// 将请求转发到test.jsp
RequestDispatcher rd = request.getRequestDispatcher("test.jsp");
rd.forward(request, response);
```
在test.jsp页面中利用JSTL+EL显示List集合中的6个Student对象的具体信息:
```
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test JSP</title>
</head>
<body>
<h1>Student List:</h1>
<table border="1">
<tr>
<th>Name</th>
<th>Age</th>
<th>Gender</th>
</tr>
<c:forEach items="${studentList}" var="student">
<tr>
<td>${student.name}</td>
<td>${student.age}</td>
<td>${student.gender}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
```
以上代码可以实现在JSP页面中显示List集合中的6个Student对象的具体信息。
编写JSP程序,从数据库中查询数据,并保存到List集合中,再通过JSTL的循环标签将其显示到页面中。
在编写JSP程序时,通常会结合Servlet或Spring MVC等框架,从数据库中获取数据。以下是基本步骤:
1. **连接数据库**:首先,你需要设置JDBC连接,包括数据库URL、用户名和密码。这通常会在Servlet或Service层完成。
```java
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb", "username", "password");
```
2. **执行SQL查询**:创建Statement或PreparedStatement实例,发送查询语句获取数据。
```java
String sql = "SELECT * FROM my_table";
ResultSet rs = stmt.executeQuery(sql);
```
3. **将结果转换为List**:遍历结果集,将每一行数据封装成一个对象(如User),并添加到List中。
```java
List<User> userList = new ArrayList<>();
while (rs.next()) {
User user = new User(rs.getInt("id"), rs.getString("name"));
userList.add(user);
}
```
4. **存储到session或model**:为了传递给JSP,你可以选择将List存入HTTP session或模型对象(ModelAndView)。
5. **JSTL循环展示数据**:在JSP页面中,使用`<c:forEach>`或`<ul>`标签配合`<c:each>`来遍历List并显示数据。
```jsp
<ul>
<c:forEach items="${userList}" var="user">
<li>ID: ${user.id}, Name: ${user.name}</li>
</c:forEach>
</ul>
```
阅读全文