если вы хотите процесс регистрации 4 шагов с помощью пружинного проекта, я хотел бы предложить вам взглянуть на Spring Web Flow. вы можете найти образцы here tutorials here и искать в stackoverflow и в Интернете. Он используется точно так, как вы хотите.
В противном случае вам необходимо добавить @SessionAttributes к контроллеру и объявить @ModelAttributes. Ниже приведен пример:
@SessionAttributes({"oneDto","secondDto", [...as many as you want...]})
public class MyController {
[...Declaration and init of forms and modelAttributes...]
@RequestMapping(method = RequestMethod.POST)
public String processFirstPage(
@ModelAttribute("oneDto") OneDto infoFromFirstPage,
BindingResult result, SessionStatus status) {
[...Do whatever you need...]
//return form success view
return "secondPageView"; //uses secondDto
}
@RequestMapping(method = RequestMethod.POST)
public String processSecondPage(
@ModelAttribute("oneDto") OneDto infoFromFirstPage, @ModelAttribute("secondDto") SecondDto infoFromSecondPage
BindingResult result, SessionStatus status) {
[...Do whatever you need...]
//return form success view
return "thirdPageView";
}
}
С JSP точки зрения, DTO объявляется в «modelAttribute» формы и все поля находятся в пути входов, выбирает, и т.д.:
<form:form method="post" modelAttribute="oneDto" action="matchResquestMappingURL" enctype="application/x-www-form-urlencoded">
<form:input path="oneField"/>
etc.
full TLD description here
Вам не нужно использовать несколько DTO, вы можете использовать их и добавить дополнительную информацию на каждую страницу. Когда вы закончите использовать свои данные, позвоните status.setComplete();
, чтобы очистить сеанс.
Это просто база для понимания концепции, но есть много других способов борьбы с этим. например, вы можете проверить это here. (несколько форм страницы)
FYI - хранение данных в сеансе может быть опасным. У меня были проблемы, когда мои страницы отображались неправильно, потому что бывшие разработчики полагались на данные сеанса, срок действия которых истек. – Jess
Mr.Jessemon В моем случае я хочу перейти с 4-х ступенчатым процессом регистрации, например, мастером, как мы можем это сделать –