`return "book-retrieve-jstl";`和`return "redirect:/book/book-retrieve-jstl";`分別

 @Controller

@RequestMapping("/book") public class BookControllerImpl implements BookController{ // need to inject our book service @Autowired private BookService bookService; @Autowired private BookAbstractparaService bookAbstractparaService; @GetMapping("/book-gridview-detail") public String bookgridviewdetail(Model theModel) { return "book-gridview-detail"; } @GetMapping("/book-retrieve-jstl") public String listBooks(Model theModel) { // get books from the service List<Book> theBooks = bookService.getBooks(); // add the customers to the model theModel.addAttribute("Books", theBooks); return "book-retrieve-jstl"; } @PostMapping(value = "/save-jstl", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public String saveBookJstl( @ModelAttribute("Book") Book book , @RequestParam("creationDate") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate creationDate , @RequestParam("coverImageFile") MultipartFile coverImageFile ) { book.setCreationDate(creationDate); ImageObject imageObject= ImageUtil.multipartFileToImageObject(coverImageFile); if(imageObject!=null) { book.setCoverImage(imageObject.getBytes()); book.setCoverImageHeight(imageObject.getHeight()); book.setCoverImageWidth(imageObject.getWidth()); book.setCoverImageSize(imageObject.getSize()); book.setCoverImageOriginalFilename(imageObject.getFilename()); } // Save the book using our service bookService.saveBook(book); return "redirect:/book/book-retrieve-jstl"; } @GetMapping("/update-jstl") public String updateBookJstl( Model theModel , @RequestParam("bookId") Integer bookId ) { // get the book from our service Book book = bookService.getBook(bookId); theModel.addAttribute("formattedCreationDate", DataTimeUtil.localDateToString(book.getCreationDate(), "yyyy-MM-dd")); theModel.addAttribute("coverImageBase64String", "data:image/jpeg;base64,"+ ImageUtil.byteArrayToBase64(book.getCoverImage())); // set customer as a model attribute to pre-populate the form theModel.addAttribute("Book", book); // send over to our form return "book-update-jstl"; } @GetMapping("/delete-jstl") public String deleteBookJstl( @RequestParam("bookId") Integer bookId ) { // delete the book bookService.deleteBook(bookId); return "redirect:/book/book-retrieve-jstl"; } }


在提供的代碼中,`return "book-retrieve-jstl";`和`return "redirect:/book/book-retrieve-jstl";`是用於控製網頁的返回值,決定了應該返回給用戶的視圖或重定向到的URL。

1. `return "book-retrieve-jstl";`的作用是返回名為"book-retrieve-jstl"的視圖。這意味著當執行`listBooks`方法時,它將返回一個名為"book-retrieve-jstl"的視圖,該視圖將作為響應呈現給用戶。視圖通常是一個包含HTML和其他模板元素的文件,用於顯示用戶界面。

2. `return "redirect:/book/book-retrieve-jstl";`的作用是重定向到"/book/book-retrieve-jstl"的URL。這意味著當執行`saveBookJstl`或`deleteBookJstl`方法時,它們將返回一個重定向指令,告訴瀏覽器應該跳轉到指定的URL。在這種情況下,重定向將導致瀏覽器重新加載"/book/book-retrieve-jstl"頁面。

這兩種寫法之間的區別在於返回值的不同:

- `return "book-retrieve-jstl";`直接返回一個視圖,瀏覽器將顯示該視圖。
- `return "redirect:/book/book-retrieve-jstl";`返回一個重定向指令,瀏覽器將重新加載指定的URL。

在代碼中,`return "book-retrieve-jstl";`用於顯示名為"book-retrieve-jstl"的視圖,而`return "redirect:/book/book-retrieve-jstl";`用於在保存或刪除書籍後重定向到"/book/book-retrieve-jstl"頁面,以顯示更新後的書籍列表。

Comments

Popular posts from this blog

state government roles website

Follow these steps to install eksctl

SQL Tutorials 10 hours