package com.springs.mvc; import com.spring.entity.User; import org.springframework.ui.Model; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; import org.springframework.web.portlet.ModelAndView; import javax.servlet.http.HttpServletRequest; @Controller @RequestMapping(value = "/hello") @SessionAttributes("user") //将model中为user的key,存入session //另一种写法Session:@SessionAttributes(types = {User.class},value = {"user"}) public class HelloController { /** * value :映射路径 * method:允许请求方法 * consumes:允许请求内容类型 * produces: 返回数据类型 * params : 请求的request中必须包含某些参数值时,才处理(eg:该方法仅处理其中名为myparam、值为myvalue的请求) * headers :请求的header必须包含Referer=http://www.baidu.com才处理 * RequestParam : 将参数loginname的值赋值给变量username,将参数password赋值给变量pwd * PathVariable :将url参数的{userId}绑定到变量userId上 * RequestHeader :将header中User-Agent赋值给变量userAgent,value=Accept的值给accepts * CookieValue : 会自动将cookie中key为JSESSIONID的值赋值给sessionId,如果cookie中没有JSESSIONID就给defaultValue */ @RequestMapping( value = "/pring/{userId}",method = {RequestMethod.POST,RequestMethod.DELETE},consumes = {"application/json"}, produces = {"application/json"},params = {"myparam=myvalue"},headers = {"Referer=http://www.baidu.com"}) public String pring( @RequestParam("loginname") String username, @RequestParam("password") String pwd, @PathVariable int userId, @RequestHeader("User-Agent") String userAgent,@RequestHeader("value=Accept") String[] accepts, @CookieValue(value = "JSESSIONID",defaultValue = "") String sessionId ){ ModelAndView mv = new ModelAndView(); mv.addObject("message","66"); return "index"; } /** * 如果有必要使用servlet的9大内置对象,可以直接在请求方法中直接写入,spring可以传入 * 【注意】:org.springframework.ui.Model ,这不是一个servlet的api,是springMVC类型, * 每次调用请求处理方法时,springMVC都会创建Model对象,将其作为参数出传给方法 * @param request * @return */ public String demo2(HttpServletRequest request){ return ""; } /** * model 使用 * @param username * @param password * @param model */ @ModelAttribute//ModelAttribute修饰的方法会先于RequestMapping修饰的方法先执行,类似表单过滤form public void userModel(String username,String password,Model model){ User user = new User(); user.setUsername(username); user.setPassword(password); model.addAttribute("user",user); } @RequestMapping(value = "/login") public String login(Model model){ User user = (User)model.asMap().get("user"); user.setMobile("13247629622"); return "result"; } /** * ModelMap 使用 * @param username * @param password * @param modelMap */ @ModelAttribute//ModelAttribute修饰的方法会先于RequestMapping修饰的方法先执行,类似表单过滤form public void userModel2(String username,String password,ModelMap modelMap){ User user = new User(); user.setUsername(username); user.setPassword(password); modelMap.addAttribute("user",user); } @RequestMapping(value = "/login") public String login(ModelMap modelMap){ User user = (User)modelMap.get("user"); user.setMobile("13247629622"); return "result"; } }
springMVC常用注解用法
最新推荐文章于 2023-08-16 17:40:11 发布