Я делаю приложение Spring, используя Magnolia CMS.
Это мой контроллер:
@Controller
@Template(title = "Unlock Form", id = "newPositionModule:components/unlockAccount")
public class UnlockAccountComponent {
@Autowired
private LoginServiceImpl loginServiceImpl;
@Autowired
private JavaMailSender mailSender;
@RequestMapping(value = "/unlockAccount", method = RequestMethod.GET)
public String render(@ModelAttribute("resetForm")ResetForm resetForm) {
return "components/unlockAccountForm.jsp";
}
@RequestMapping(value = "/unlockAccount", method = RequestMethod.POST)
public String reset(@ModelAttribute("resetForm")ResetForm resetForm,HttpServletRequest request,BindingResult result) {
ResetFormValidator validReset = new ResetFormValidator();
validReset.validate(resetForm, result);
if (result.hasErrors()) {
return "components/unlockAccountForm.jsp";
}
.....
.....
}
}
Эта страница/компонент настраивается в шаблоне, который называется, например, main.
содержание страницы следующим образом:
----------------------------------------------
<some header>
----------------------------------------------
<form:form id="unlockAccForm" action="?" commandName="resetForm" method="POST">
<blossom:pecid-input />
<div class="form-group">
<form:input path="resetMail" placeholder="Email address or mobile no." id="" class="form-control"/>
<form:errors path="resetMail" cssClass="errorMessage" />
</div>
<div class="form-group">
<button class="lgn_btn" type="submit">Unlock Account</button>
</div>
</form:form>
----------------------------------------------------------
<some footer>
----------------------------------------------------------
Когда я отправляю форму, появляется сообщение об ошибке, поскольку оно проверяется с помощью валидатора, который вы можете видеть в контроллере.
Но приходит только jsp, но шаблон отсутствует, как и верхний и нижний колонтитулы.
Чтобы получить сообщение об ошибке, мы не должны перенаправлять страницу, так как сообщение об ошибке не придет из-за формирования нового объекта запроса.
может ли кто-нибудь предложить мне, как решить эту проблему.
Что я пропустил или сделал что-то не так с кодом.
если кому-то нужен дополнительный запрос или дополнительная информация, которую я не предоставил, пожалуйста, спросите меня.
пожалуйста, предложите.