Я конвертирую свой проект из Thymeleaf в Freemaker. У меня есть одна проблема. Сейчас я попытаюсь описать это.
На главной странице моего сайта есть список поставщиков и поле поиска, которое ищет поставщиков по имени.
В Thymeleaf это выглядит примерно так:
Контроллер:
@GetMapping("/vendors")
public String getAllVendors(Model model,@PageableDefault Pageable pageable){
Page<Vendors> vendors = vendorRepository.findAll(pageable);
model.addAttribute("searchVendor",new Foo()); //This is for search field
model.addAttribute("url","/vendors");
model.addAttribute("vendors",vendors);
return "vendors/list";
}
Класс Foo:
@Getter
@Setter
public class Foo {
private List<Long> checkedItems; // for checkboxes
private List<Long> checkedItemsPlus; //for checkboxes
private String findItem; // to find by the name
private Long findSupply; // to find by the id
private String findItemPlus; // to find by the second name
}
Шаблон Thymeleaf (форма для поля поиска):
<form th:action="@{/showVendor}" method="post" class="form-inline">
<input type="search" class="form-control mr-sm-2"
th:field="${searchVendor.findItem}" placeholder="Search By Name"/>
<button type="submit" class="btn btn-outline-success">
Search
</button>
</form>
$ {searchVendor.findItem} - это строка, в которой введено имя
написано.
Контроллер
@PostMapping("/showVendor")
public String getVendorBySearch(Model model,@ModelAttribute("searchVendor") Foo foo){
model.addAttribute("vendors",
vendorService.getVendorByName(foo.getFindItem()));
return "vendors/show";
}
С Thymeleaf все отлично работает.
В Freemaker я изменил только свой шаблон тимелист -
Шаблон Freemaker
<form action="/showVendor" method="post" class="form-inline">
<input type="search" class="form-control mr-sm-2" value="${searchVendor.findItem}" id="findItem" name="findItem" placeholder="Search By Name"/>
<button type="submit" class="btn btn-outline-success my-2 my-sm-0">Search</button>
</form>
Я не уверен в этом, но заменил th: поле на значение, id, имя
Затем я нажимаю кнопку У меня есть эта ошибка-
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Wed Nov 07 21:42:23 MSK 2018
There was an unexpected error (type=Forbidden, status=403).
Forbidden
И мои последние вопросы. Как заменить th: field с Thymeleaf на
Freemaker? Я сделал это правильно или мне нужно сделать что-то еще? Почему появляется эта ошибка?