This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Controller | |
public class BookController { | |
private static final Logger logger = LoggerFactory.getLogger(BookController.class); | |
@Autowired | |
@Qualifier("bookService") | |
private BookService bookService; | |
@Autowired | |
@Qualifier("cartBean") | |
private Cart cartBean; | |
@ExceptionHandler(ResourceNotFoundException.class) | |
public String handleResourceNotFoundException(HttpServletRequest request) { | |
HttpSession session = request.getSession(true); | |
session.setAttribute("cartBean", cartBean); | |
return "404page"; | |
} | |
@RequestMapping(value = "/book/detail/{bookId}") | |
@SuppressWarnings("unchecked") | |
public String details(@PathVariable("bookId") long bookId, Model model, HttpServletRequest request) { | |
logger.info("Show Book Detail Page"); | |
HttpSession session = request.getSession(false); | |
Book book = null; | |
if (session != null && session.getAttribute("books") != null) { | |
List<Book> books = (List<Book>) session.getAttribute("books"); | |
for (Book b : books) { | |
if (b.getId() == bookId) { | |
book = b; | |
model.addAttribute("book", b); | |
break; | |
} | |
} | |
if (book == null) { | |
throw new ResourceNotFoundException(); | |
} | |
} else { | |
book = bookService.findBook(bookId); | |
if (book == null) { | |
throw new ResourceNotFoundException(); | |
} | |
model.addAttribute("book", book); | |
} | |
return "book-detail"; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Controller | |
@SessionAttributes(names = "cartBean") | |
public class ResourceNotFoundController { | |
@Controller | |
@SessionAttributes(names = "cartBean") | |
public class ResourceNotFoundController { | |
@Autowired | |
@Qualifier("cartBean") | |
private Cart cartBean; | |
@RequestMapping("/404") | |
public String handleResourceNotFound(Model model, HttpServletRequest request) { | |
HttpSession session = request.getSession(false); | |
if (session == null) { | |
model.addAttribute("cartBean", cartBean); | |
} | |
return "404page"; | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@ResponseStatus(HttpStatus.NOT_FOUND) | |
public class ResourceNotFoundException extends RuntimeException { | |
private static final long serialVersionUID = -3329819391367130855L; | |
} |
Không có nhận xét nào:
Đăng nhận xét