springMVC学习笔记二(获取参数,返回Model数据)

Controller如何获取参数           

1利用原有的Servlet方法,使用HttpServletRequest

2利用@RequestParam注解 @RequestParam("username")String name,当usernamerequest中不存在,会抛出异常,可以使用@RequestParam(value="username" required=false   default=" 默认值")这样请求有值就取,没值就不取

3使用实体类封装  

--写一个实体类,然后添加setter,getter方法

--实体类的setter方法与请求的参数保持一致

 

 

Controller返回参数值

方式一:

Controller返回类型为ModelAndView  =================》了解

Map map= new HashMap();

map.put(String,Object);

return ModelAndView(String jsp名,map);

 

方式二:

***Controller方法中加Model参数如:===================》建议使用

public String checkLogin(Model model){

model.addAttribute(key,value);

return "ok";

}

 

方式三:

利用@ModelAttribute注解,可以将方法参数放入Model

@ModelAttribute("name")String username username值放入Model

keyname,等价于model.addAttribute("name",username);

 

 

@ModelAttribute()的另一种用法,放在方法上面

程序已进入controller首先执行@ModelAttribute()再执行@RequestMapping

@ModelAttribute"msg"     //相当于model.addAttribute("msg",findMsg())

public String findMsg(){

return "你好";

}

 

@RequestMapping()

public String Controller(){  }  

--------------------------------------------------------------------------

Session中存储数据

a 利用Servlet方案,使用HttpSession参数

b 利用@SessionAttribute(“name”)标记,在类定义前使用,含义是将Model中存储的keyname的信息,由Request范围转换为Session范围,

  在使用前需要在Model中存储了name一组值才可以

@SessionAttribute("name")       @SessionAttribute({"name","age"})      

public class LoginController(){

public String(){

model.addAttribute("name",Object);

}

}

你可能感兴趣的:(springMVC)