创建add.jsp用来填写书本信息。点击添加按钮,跳转到doadd.jsp中进行处理。doadd.jsp处理逻辑是创建一个list存储书本,并把list放到session中。最后跳转到show.jsp中遍历展现书表格
时间: 2023-06-14 07:07:53 浏览: 60
以下是 add.jsp 的代码:
```
<html>
<head>
<title>Add Book</title>
</head>
<body>
<h1>Add Book</h1>
<form action="doadd.jsp" method="post">
<label for="title">Title:</label>
<input type="text" id="title" name="title"><br><br>
<label for="author">Author:</label>
<input type="text" id="author" name="author"><br><br>
<label for="price">Price:</label>
<input type="text" id="price" name="price"><br><br>
<input type="submit" value="Add">
</form>
</body>
</html>
```
在上面的代码中,我们创建了一个表单,让用户填写书籍的信息,包括书名、作者和价格,然后提交表单到 doadd.jsp。
以下是 doadd.jsp 的代码:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String title = request.getParameter("title");
String author = request.getParameter("author");
String price = request.getParameter("price");
List<Book> bookList = null;
if(session.getAttribute("bookList") == null) {
bookList = new ArrayList<Book>();
} else {
bookList = (List<Book>)session.getAttribute("bookList");
}
Book book = new Book(title, author, Double.parseDouble(price));
bookList.add(book);
session.setAttribute("bookList", bookList);
response.sendRedirect("show.jsp");
%>
```
在上面的代码中,我们首先从请求参数中获取用户填写的书籍信息,然后从 session 中获取之前添加的书籍列表,如果没有则创建一个新的空列表。接着,我们创建一个新的书籍对象,并将其添加到书籍列表中,最后将新的书籍列表存储到 session 中,并将用户重定向到 show.jsp 页面。
以下是 show.jsp 的代码:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
List<Book> bookList = (List<Book>)session.getAttribute("bookList");
%>
<html>
<head>
<title>Book List</title>
</head>
<body>
<h1>Book List</h1>
<table border="1">
<tr>
<th>Title</th>
<th>Author</th>
<th>Price</th>
</tr>
<%
for(Book book : bookList) {
out.println("<tr>");
out.println("<td>" + book.getTitle() + "</td>");
out.println("<td>" + book.getAuthor() + "</td>");
out.println("<td>" + book.getPrice() + "</td>");
out.println("</tr>");
}
%>
</table>
</body>
</html>
```
在上面的代码中,我们从 session 中获取书籍列表,并将其展现在一个表格中。每一行表示一本书籍,包括书名、作者和价格。