По сути, это Spring, действие называется «связывание» и представляет собой действие связывания элементов формы из одного jsp (в данном случае gsp) со свойствами объекта и наоборот.
Чтобы связать объект с формой, сначала вы должны его создать. Как можно связать нулевой объект? это невозможно, поэтому новый ClassObject (...)
После этого в Groovy у нас есть POGO, и одной из особенностей POGO является возможность инициализировать их с помощью карты, например:
new User(name:'John',lastname:'Zuñiga')
Но в этом случае есть немного отличной магии с этим объектом "params". Это происходит от Groovy Servlets или Groovlets. Как вы можете получить параметр с Java, входящий из формы? Хорошо, с request.getParam("param_name")
, но в этом случае с Groovy вы получаете объект params, этот объект params является картой, картой Groovy ... Хм, одна секунда ...
Если POGO в Groovy может получать Map в качестве конструктора, а объект params является Map ... может быть ... ох, круто, я могу поместить эту карту в конструктор моего объекта, а после Spring сделать привязку в форму с этим новым объектом, так что этот объект перемещается в действиях от этого контроллера, поэтому он поставляется с заполненными свойствами.
Надеюсь, это объяснение будет ясным, если у вас есть вопросы, я здесь ...
Привет