我在com.form.model包中有一个Name.java,它具有两个String实例变量first_name和last_name。我想要一个采用这两个变量作为输入的jsp表单。我究竟在哪里将Register.jsp文件保留在项目目录中,以便可以使用Name.java映射表单?
答案 0 :(得分:0)
这是一个很好的模式。将所有.jsp
文件放在一个名为/WEB-INF/view/
的文件夹中,并创建一个名为/form
的子目录。在我的application.properties
(我使用gradle)中,指定从以下位置提供JSP服务的位置:
spring.mvc.view.prefix=/WEB-INF/view/
spring.mvc.view.suffix=.jsp
因此,假设您有一个JSP表单:
/WEB-INF/view/form/register.jsp
因此,在控制器(我假设您正在使用Spring)中,您可以编写:
/**
* Serve the form
*/
@GetMapping("/register")
ModelAndView form() {
return new ModelAndView("/form/register", "name", new Name())
}
/**
* Handle submitted form
*/
@PostMapping("/register")
ModelAndView formCreate(@ModelAttribute Name name, BindingResult result, ModelMap model) {
if (result.hasErrors()) {
// Handle form errors
}
// Add stuff to ModelMap or other processing
// Return the form
return new ModelAndView("/form/register", "name", name)
}