为什么borrow.jsp中修改bookstate的值Book book = bookService.getBook(bookid); book.setBookstate(1); System.out.println(book); if(book.getBookstate() == 1){ response.sendRedirect("user-home.jsp"); }回到user-home.jsp中bookstate的值显示不改变
时间: 2024-04-15 22:31:34 浏览: 101
book_borrow_system.zip_Book 2_book borrow_book_borrow system_图书借
在borrow.jsp中,你使用了bookService.getBook(bookid)来获取指定bookid的书籍对象,并使用book.setBookstate(1)将书籍状态修改为1。然后通过System.out.println(book)打印出修改后的书籍对象。
接下来,你使用book.getBookstate()来获取书籍对象的状态值,并判断如果状态值为1,则通过response.sendRedirect("user-home.jsp")将页面重定向到user-home.jsp页面。
然而,当回到user-home.jsp页面时,bookstate的值并没有改变。这可能是因为在跳转回user-home.jsp页面时,没有将修改后的书籍对象传递给该页面。
要解决这个问题,你可以考虑在borrow.jsp中将修改后的书籍对象传递给user-home.jsp页面。可以通过将修改后的书籍对象存储在session中,然后在user-home.jsp页面中获取该session值,从而显示正确的bookstate值。
在borrow.jsp中修改代码如下:
```java
book.setBookstate(1);
session.setAttribute("modifiedBook", book);
```
然后在user-home.jsp页面中获取session中的modifiedBook对象,并显示bookstate的值:
```java
<%
Book modifiedBook = (Book) session.getAttribute("modifiedBook");
if (modifiedBook != null) {
int bookstate = modifiedBook.getBookstate();
out.println("Bookstate: " + bookstate);
}
%>
```
这样应该可以正确显示修改后的bookstate值了。记得在代码中适当处理session的生命周期和异常情况。
阅读全文