Конвертировать Thymeleaf "th: field" во Freemarker - PullRequest
0 голосов
/ 07 ноября 2018

Я конвертирую свой проект из 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? Я сделал это правильно или мне нужно сделать что-то еще? Почему появляется эта ошибка?

...