Постмаппинг - почему он работает без модели?

Я недавно начал изучать Spring и написал очень простое «приложение», чтобы понять, как оно обрабатывает запросы на получение и публикацию, а также контроллеры. По сути, он просто делает получает своего рода ценность из ввод текста и загружает его, чтобы я мог позже работать с ним в программе.

Мои коды:

<form th:action = "@{/main/form2}" th:method = "post">
<input th:object = "${postdata}" placeholder = "Write it here..." 
name = "postdata">
<input type = "submit" name = "submit" value = "submit">

И

@RequestMapping("/main")
public class Controller {
    @GetMapping("/form")
    public String getInfo() {
        return "form";
    }

    @PostMapping("/form2") //end point name
    public String postInfo(@ModelAttribute("postdata") String receivedData){
        System.out.println(receivedData);

        //ModelAttribute: what you get from the HTML.
        //It works, even if i do not have a model

        return "redirect:/main/form"; //HTML name

    }
}

У меня следующие вопросы:

  1. Почему он работает без создания экземпляра объекта из класса Model и добавив к нему этот атрибут модели? Мне нужна только модель, когда я общаюсь в другом направлении, поэтому, когда я отправляю некоторые значения из Spring в html страница?
  2. Прилично ли так делать?

Заранее спасибо.

что вы имели в виду под "если у меня нет модели"?

Andrew Tobilko 13.12.2018 22:16

Спасибо за вопрос. Я имею в виду создание экземпляра объекта из класса Model, чтобы добавить к нему ModelAttribute.

lyancsie 13.12.2018 22:17

AFAIK, экземпляр Model будет автоматически создан для вас Spring в соответствии с входящими свойствами. Вы можете ввести объект Model или любую его часть как @ModelAttribute.

Andrew Tobilko 13.12.2018 22:29
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
3
328
0

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