Java自学之路-Java中级教程-16:SpringMVC使用GET方法提交和保存页面表单

表单即是网页上要用户输入和选择并提交的部分,比如用户要在网页上写一篇文章,就要填写标题、内容等,用户要在网站上注册就要填写用户名、密码、性别等。表单通过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视频教程


猜你喜欢

转载自blog.csdn.net/weixin_41239710/article/details/80510407
今日推荐