在控制器中有代码(Spring MVC)
@RequestMapping(value = "/books", method = RequestMethod.GET)
public String books(final HttpServletRequest request, final Model model) {
if (request.getParameter("name") || request.getParameter("publishing_house") || request.getParameter("the_year_of_publishing")) {
final List<Book> books = bookService.booksBySearch();
} else {
final List<Book> books = bookService.getAll();
}
model.addAttribute("books", books);
logger.debug("running in BookController.java -> books()");
logger.info(JSON.toJSON(request.getRequestURI()));
logger.info(JSON.toJSON(books));
return "/book/list.jsp";
}
结果,在编译时,我得到一个错误:
[错误] /C:/Users/Tim/eclipse-workspace/springMVC-mybatis-postgresql-fbcda0e11b1addcac43be8813e16b8b703022591/src/main/java/com/core/newbie/controller/BookController.java:[53,42] 错误的操作数类型二元运算符'||' 第一种类型:java.lang.String 第二种类型:java.lang.String
为什么以及如何解决?
您对此有何期待
request.getParameter("name") || request.getParameter("publishing_house")?getParameter返回一个字符串。也许你想null检查一下?但即便如此,你的代码也不会编译,因为 您
books没有在您的范围之外进行定义if,编译器将在该行抛出错误model.addAttribute("books", books);。整个代码将是这样的: