表单即是网页上要用户输入和选择并提交的部分,比如用户要在网页上写一篇文章,就要填写标题、内容等,用户要在网站上注册就要填写用户名、密码、性别等。表单通过HTML网页语言建立,下面给出一个在/WebContent/formjsp中加入的表单,并使用SpringMvc处理这个表单的数据提交。
上面的表单使用form标记,action就是表单要提交的地址,即是SpringMVC的处理逻辑地址。
表单有两个输入框:
一个是序号,用input标记,类型为text即文本框,名称为id。
另一个是国籍,也用input标记,类型为text即文本框,名称为nation。
表单还有一个提交按钮,用input标记,类型为submit即提交,显示为"提交“。
把这个form.jsp放在WebContent文件目录中,重新启动Tomcat,即可访问http://localhost/calculateWeb/form.jsp查看显示结果,如上图。
这里定义form的action为addPerson,所以需要在PersonController.java中定义一个方法,映射请求的路径为/addPerson。
@RequestMapping(value = "/addPerson", method = RequestMethod.GET) public Object addPerson(HttpServletRequest request, HttpServletResponse response) { try { String id = (String) request.getParameter("id"); String nation = (String) request.getParameter("nation"); Person person = new Person(); person.setId(Integer.parseInt(id)); person.setNation(nation); personService.addPerson(person); Person personNew = personService.findPerson(id); request.setAttribute("person", personNew); } catch (Exception e) { e.printStackTrace(); } return "jsp/person.jsp"; }
重新启动Tomcat,访问http://localhost/calculateWeb/form.jsp,在序号框里输入2,在国籍框里输入JP,点击提交按钮,页面就会把数据提交给addPerson方法。这个方法使用request.getParameter("id")和request.getParameter("nation")接收到参数id和nation,类型为Object,所以这里使用强转类型,转换为String,并把id转为Integer。那么新建一个Person类的对象person,就可以把id和nation存入person对象。在PersonService中新增addPerson(Person person)方法:
public void addPerson(Person person) throws Exception;
并在PersonServiceImpl.java中新增实现方法:
@Override
public void addPerson(Person person) throws Exception {
personDao.add(person);
}
之前的PersonDao已经有add(Person person)方法了,所以这里不需要再新增。也就是在PersonController.java的addPerson方法中调用personService.addPerson(person),那 personDao.add(person)方法的实现类PersonJdbcTemplateDaoImpl就会把person对象存入数据库了。
接着在方法里按照上一节的方法,使用personService.findPerson(id)可以把相应的id=2的数据记录从数据库中查出来,并传入request对象中request.setAttribute("person", personAdd),这样把数据return给"jsp/person.jsp",就可以在person.jsp中显示刚存入的数据了。可以看到,显示页的地址为http://localhost/calculateWeb/addPerson?id=2&nation=JP,使用了?id=1&nation=JP这样的参数拼接,即是GET方法的效果。
person: 2,JP;
到这里,表单保存数据就介绍完了。
Java视频教程