Это шаблон, введите описание изображения здесь
@Controller
@Template(title = "Main", id = "sampleModule:pages/main")
public class MainTemplate {
@Area("header")
@Controller
@AvailableComponentClasses()
public static class Header {
@RequestMapping("/mainTemplate/header")
public String render() {
return "pages/headerArea.jsp";
}
}
@Area("main")
@Controller
@AvailableComponentClasses({LoginFormComponent.class} )
public static class MainArea {
@RequestMapping("/mainTemplate/home")
public String render() {
return "pages/mainArea.jsp";
}
}
/**
* footer area.
*/
@Area("footer")
@Controller
@AvailableComponentClasses()
public static class Footer {
@RequestMapping("/mainTemplate/footer")
public String render() {
return "pages/footerArea.jsp";
}
}
}
Здесь компонент формы, который я добавил в основную область
@Controller
@Template(title = "Login Form", id = sampleModule:components/login")
public class LoginFormComponent {
@Autowired
private LoginServiceImpl loginServiceImpl;
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String render(@ModelAttribute LoginForm loginForm,HttpServletRequest request) {
return "components/loginForm.jsp";
}
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String rendering( @ModelAttribute("loginForm") @Valid LoginForm loginForm,BindingResult result,HttpServletRequest request) {
new LoginFormValidator().validate(loginForm, result);
if (result.hasErrors()) {
return "components/loginForm.jsp";
}
return "components/loginSucess.jsp";
}
перед отправкой формы, то есть при вызове метода get, страница входа отображается вместе с шаблоном.
при нажатии на «Отправить» форма отправляется только тогда, когда jsp отображается без шаблона, и отображаются сообщения об ошибках.
Как это преодолеть, может ли кто-нибудь предложить мне?
Вот несколько снимков экрана ниже