1.Controller
package com.tz.controller; import java.util.Map; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import com.tz.domain.Course; @Controller @RequestMapping("/ModelAttribute") public class ModelAttributeController { @RequestMapping("/handle") public String handle(Course c){ System.out.println("handle......"); System.out.println(c); return "success"; } // //有返回值类型 // @ModelAttribute//优先执行 // public Course show(String cname){ // /** // * 当form表单中提交的数据不是完整的实体类型的数据时,需要保证, // * 没有提交数据的字段还是使用 // * 数据库对象原来的数据 // * // */ // System.out.println("show....."); // //通过课程名称去数据库查询数据 // Course c = new Course(); // //模拟数据库中的值 // c.setCname(cname); // c.setNumber(123); // c.setPrice(11); // c.setStock(123); // c.setTeacher("coco"); // return c; // } //无返回值类型 @ModelAttribute//优先执行 public void show(String cname,Map<String,Course> map){ /** * 当form表单中提交的数据不是完整的实体类型的数据时,需要保证, * 没有提交数据的字段还是使用 * 数据库对象原来的数据 */ System.out.println("show....."); //通过课程名称去数据库查询数据 Course c = new Course(); //模拟数据库中的值 c.setCname(cname); c.setNumber(123); c.setPrice(11); c.setStock(123); c.setTeacher("coco"); map.put("c",c); // return c; } }
2.request.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <a href="handle?user=coco">访问</a><br/> <form action="ModelAttribute/handle" method="post"> 课程名称: <input type="text" name="cname"><br/> 主讲老师: <input type="text" name="teacher"><br/> <hr/> <input type="submit" value="提交"> </form> </body> </html>