复习之SpringMVC(一)——接收参数、返回数据到页面

获取页面提交的参数

直接写参数形参,适用于get方法,不适用于post

	@RequestMapping("/list")
    public String userList(String username) {
        System.out.println("username is:"+username);
        return "massageList";
        }

通过HttpServletRequest接收,post方式和get方式都可以。

	@RequestMapping("/list")
    public String userList(HttpServletRequest request) {
    	String username=request.getParameter("username");
        System.out.println("username is:"+username);
        return "massageList";
        }

通过一个bean来接收,post方式和get方式都可以。

public class UserModel {
    private String username;
    private String password;
    //get、set方法省略
    }

用这个bean来封装接收的参数

	 @RequestMapping("/login")
    public String login(UserModel user) {
        System.out.println("username is:"+user.getUsername());
        System.out.println("password is:"+user.getPassword());
        return "index";
    }

通过@PathVariable获取路径中的参数 restful开发风格(常用)

 	@RequestMapping(value="/userList/{username}",method=RequestMethod.GET)
	public String addUser4(@PathVariable String username) {
        System.out.println("username is:"+username);
        return "messageList";
    }

访问路径为:http://localhost:8080/demo/userList/admin 即username=admin

使用@ModelAttribute注解获取POST请求的FORM表单数据

 	@RequestMapping(value="/userList",method=RequestMethod.POST)
    public String userList(@ModelAttribute("user") UserModel user) {
        System.out.println("username is:"+user.getUsername());
        System.out.println("password is:"+user.getPassword());
        return "index";
    }

用注解@RequestParam绑定请求参数到方法入参(常用)

@RequestMapping(value="/userList",method=RequestMethod.GET)
    public String userList(@RequestParam(value = "pageSize",required = false,defaultValue = "12") int pageSize) {
        System.out.println("pageSize is:"+pageSize);
        return "index";
    }

返回数据到页面

通过HttpServletRequest返回数据

	@RequestMapping("/list")
    public String user(String username) {
      User user=userService.getUserByUsername(username);
        request.setAttribute("user", user);//返回数据
        return "user";//返回视图
        }

通过Model返回数据(常用)

	@RequestMapping("/list")
   	 public String user(Model model,String username) {
      User user=userService.getUserByUsername(username);
        model.addAttribute("user", user);//返回数据
        return "user";//返回视图
        }

通过Map返回数据

	@RequestMapping("/list")
   	 public String user(Map map,String username) {
      User user=userService.getUserByUsername(username);
       map.put("user", user);//返回数据
        return "user";//返回视图
        }

通过ModelMap返回数据(常用)

@RequestMapping("/list")
   	 public String user(ModelMap modelMap,String username) {
      User user=userService.getUserByUsername(username);
       modelMap.put("user", user);//返回数据
        return "user";//返回视图
        }

通过ModelAndView返回数据与视图

写法一

@RequestMapping("/list")
   	 public ModelAndView user(String username) {
      User user=userService.getUserByUsername(username);
       ModelAndView mav=new ModelAndView("user");//返回视图
      mav.addObject("user", user);//返回数据
      //mav.getModel().put("user", "user");
       return mav;
        }

写法二

@RequestMapping("/list")
   	 public ModelAndView user(String username) {
      User user=userService.getUserByUsername(username);
      ModelAndView mav = new ModelAndView();        			mav.setViewName("welcome");//返回视图
      mav.addObject("user", user);//返回数据
       return mav;
        }

写法三

	@RequestMapping("/list")
   	 public ModelAndView user(String username,ModelMap model) {
      User user=userService.getUserByUsername(username);
      ModelAndView mav = new ModelAndView();        			
       model.put("user", user);//返回数据
       return new ModelAndView("reservationQuery",model;
        }

本质为request方法

SpringMVC重定向和转发

重定向

return "forward:index.html";

转发

return “redirect:index.html”; 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值