该demo是动态web的project
Controller
@Controller
public class MyController{
/**
* 可以通过对象来获取参数,前端只需直接使用与对象里属性名相同的参数名来传值 例如:name=xxx
* HandleAdept处理器适配器利用反射从request里把与对象里属性名相同的进行了取值与封装
* 如果对象里是属性还是一个对象,那么我们前端页面可以使用如:StuClass.address=xxx的形式进行参数传递
*
* 可以通过设置形参来接受数据,前端只需要传入参数名与后台的形参对象中的属性名一致即可自动映射
*
* @param stu
*/
@RequestMapping(value="/indexJ",method=RequestMethod.GET)
@ResponseBody//不加,表示进行页面跳转,由于后台这里我们没有进行跳转或者重定向的处理,前端会报错
public void indexJ(Student stu) {
// TODO Auto-generated method stub
System.out.println("进入了indexI(),参数为:"+stu.getName()+" "
+stu.getStuId()+" "
+stu.getStuClass());
}
/**
* 使用基本数据类型时,参数的名称必须和浏览器传来的参数的key一致,这样才能实现自动映射
*
* 前端输入与参数名相同的参数controller就可以直接获取到对应的参数name=xxx
*
* @param name
* @param id
*/
@GetMapping(value="/indexK")
@ResponseBody
public void indexK(String name,String id) {
// TODO Auto-generated method stub
System.out.println("参数为:"+name+" "+id);
}
/**
* @RequestParam(value="Name",required=true)
* value="xxx"给参数取别名,required为必填
*
* 1、如果参数名和浏览器传来的key不一致,可以通过@RequestParam来解决。
*
*
* 2、加了@RequestParam之后,如果未重新指定参数名,则默认的参数名依然是原本的参数名。
* 添加了@RequestParam注解后,对应的参数默认将成为必填参数。
* 如果没有传递相关的参数,则会抛出400 Bad Request
*
* 3、可以通过设置required=false来设置该参数不是必填;@RequestParam(value="Name",required=false)
*
* 4、可以设置给参数默认值,使用defaultValue,@RequestParam(value="Name",defaultValue="zsl")
* @param name
* @param id
*/
@RequestMapping(value="/indexL",method=RequestMethod.GET)
@R