Ошибка: ни BindingResult, ни простой целевой объект для bean-компонента "id" не доступны в качестве атрибута запроса

Я использую тимьяновый лист и весну. Я хочу реализовать почтовый запрос.

мой класс контроллера

public class URLController {

    @RequestMapping(value = "index")
    public String index1(Model model){
        model.addAttribute("employee",new Employee());
        return "index";
    }

    @RequestMapping(value = "/")
    public String index(Model model){
        model.addAttribute("employee",new Employee());

        return "index";
    }

    @PostMapping("/result")
    public String result(@ModelAttribute Employee employee){
        System.out.print(employee.getName());
        return "result";
    }
}

а страница html

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <title>index page</title>
</head>
<body>
<form action = "#" th:action = "@{/result}" modelAttribute = "employee" method = "post">
    <p>Id: <input type = "text" th:field = "*{id}" /></p>
    <p>name: <input type = "text" th:field = "*{name}" /></p>
    <p>phone: <input type = "text" th:field = "*{phone}" /></p>
    <p><input type = "submit" value = "Submit" /> <input type = "reset" value = "Reset" /></p>
</form>


</body>
</html>

нет привязки к полю id.

Ну а есть ли у вас в классе Employee поле "id"?

Branislav Lazic 27.10.2018 11:37

Да, у меня есть идентификатор в сущности

dishank goyal 27.10.2018 11:37

А геттер для поля id?

Branislav Lazic 27.10.2018 11:38

да, у меня есть геттеры и сеттеры

dishank goyal 27.10.2018 11:42
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
102
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В вашем HTML вам необходимо использовать правильный синтаксис для вашего атрибута модели. Spring жалуется, что не может найти свойство id, потому что вы предоставляете строку employee, а не объект.

modelAttribute = "employee" --> th:object = "${employee}"

Дополнительно вы можете объединиться в:

@Controller //please add this
public class URLController {

    @GetMapping({"/", "/index"})
    public String index1(Model model){
        model.addAttribute("employee",new Employee());
        return "index";
    }

    @PostMapping("/result")
    public String result(@ModelAttribute Employee employee){
        System.out.print(employee.getName()); //use a logger instead
        return "result"; //may want to return a different page name for clarity
    }
}

Ваша IDE не будет жаловаться, если вы измените свой HTML-тег на:

<html xmlns = "http://www.w3.org/1999/xhtml" xmlns:th = "http://www.thymeleaf.org">

Наконец, вы можете использовать тип ввода tel для поля телефона. Это позволит отображать настраиваемую клавиатуру для мобильных пользователей.

после добавления, что я получаю сообщение об ошибке Ни BindingResult, ни простой целевой объект для bean-компонента «employee» доступен в качестве атрибута запроса

dishank goyal 28.10.2018 17:03

ссылка на проект на github - github.com/dishankgoyal/springsBoot/tree/master/springs

dishank goyal 28.10.2018 17:04

Смотрите мой PR на github

vphilipnyc 29.10.2018 06:13

Другие вопросы по теме