Как сохранить согласованный объект модели в GET-методе, view и POST-методе в Spring boot + JSP - PullRequest
0 голосов
/ 13 июня 2018

вот мой модал,

public class Mymodel{
    private String name;
    private Details details;
                             //getters and setters
    .........................
}

Вот мой контроллер,

  @GetMapping("/form")
    public ModelAndView formGet(ModelMap model) {
        Mymodel mymodel = new Mymodel();

        .....bla bla bla....

        priceSearch.setDetails(anotherObj);

        model.addAttribute("mymodel", mymodel);
        return new ModelAndView("form",model);
    }

    @PostMapping("/form")
    public ModelAndView pricePost(
            @Valid @ModelAttribute("mymodel") Mymodel mymodel,
            BindingResult bindingResult,
            Model model) {
            //can see the inside data of mymodel object when debugging..

            modelAndView.setViewName("result");
            return modelAndView;
    }

вот мой взгляд, form.jsp

   <form:form action="/form" commandName="mymodel"
                   method="POST" name="priceform"
                   enctype="multipart/form-data" novalidate="novalidate">


                <div class="form-group">
                    <div class="col-md-6">
                        <div class="form-group">
                            <label for="name">name:</label>
                            <form:input path="name"  cssClass="form-control input-sm" maxlength="20"/>
                        </div>
                    </div>
                </div>
                  <div class="row">
                    <div class="col-md-2 col-md-offset-10">

                                    <input type="submit"  value="Submit"
                                           class="btn btn-primary col-md-12" />
                        </div>
                    </div>
                </div>
        </form:form>

обратите внимание, чтоУ Mymodel есть два поля: name и details, Details - очень сложный класс, и я заполняю его внутри метода get.Единственное, что я хочу обновить - это поле имени из формы.но когда я отправляю форму, подробные данные не доступны.Кажется, что Mymodel не является продолженным объектом.Как сделать соединение.Даже если это поле недоступно в поле формы, я хочу получить доступ к подробным данным из метода post.

1 Ответ

0 голосов
/ 13 июня 2018

Использовать атрибуты @SessionAttributes (COMMAND_NAME)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...