Как в MVC для страницы поиска в методе контроллера не проверять пришла ли строка поиска?
На Spring нужно реализовать страницу поиска книг. Страница должна открываться в двух вариантах:
- С полем поиска - при открытии.
- С полем поиска и результатом поиска - после выполнения поиска.
Насколько корректно это сделать одним методом контроллера, в котором выполняется проверка, передана ли строка поиска? Как сделать более красивым решением двумя методами без этой проверки?
Контроллер:
@Controller
@RequestMapping("/books")
public class BookController {
...
@GetMapping("/search")
public String search(Model model, @RequestParam(value = "search1", required = false) String search1) {
if (search1 != null) {
model.addAttribute("books", booksServices.findByNameStartsWith(search1));
}
return "books/search";
}
...
}
Страница search.html:
<form>
<label for="search1">Введите поисковый запрос</label>
<input id="search1" type="text" name="search1">
<input type="submit" value="Искать">
</form>
<div th:each="book : ${books}">
<div th:if="${book.getName()}"></div>
</div>