springmvc接收请求参数,给前端页面赋值

接收请求参数

请求一个参数

    @ResponseBody
    @RequestMapping("/stu1")
    public Student getName(HttpServletRequest request){
        String name = request.getParameter("name");
        Student student = new Student();
        student.setGender("男");
        student.setAge(19);
        student.setName("张三");
        return student;

    }

请求一个参数并给student赋值,参数可以为空

 @ResponseBody
 @RequestMapping("/stu2")
 public Student getName(String name){
     Student student = new Student();
     student.setGender("男");
     student.setAge(19);
     student.setName(name);
     return student;

 }

请求一个参数,参数不能为空

    @ResponseBody
    @RequestMapping("/stu3")
    public Student getStuName(@RequestParam("sname") String name){
        Student student = new Student();
        student.setGender("男");
        student.setAge(19);
        student.setName(name);
        return student;
    }
    

请求一个参数,可以为空

 @ResponseBody
    @RequestMapping("/stu4")
    public Student Name(@RequestParam(value = "name",required = false) String name){
        Student student = new Student();
        student.setGender("男");
        student.setAge(19);
        student.setName(name);
        return student;
    }

接收Student类

    @ResponseBody
    @RequestMapping("/stu5")
    public Student getStu(Student student){
        return student;
    }

级联赋值

public class User {
    private String username;
    private String password;
    private String  email;
    private int age;
    public Address address;
   @RequestMapping("/test5")
    public String testPojo(User user){
        System.out.println(user);
        return SUCCESS;
    }

传值

 <form action="/test5" method="post">
   name <input name="username" type="text"><br>
    password<input name="password" type="text"><br>
    age<input name="age" type="text"><br>
    email<input name="email" type="text"><br>
    province<input name="address.province" type="text"><br>
    city<input name="address.city" type="text"><br>
    <input value="submit" type="submit">
  </form>

数组

@ResponseBody
    @RequestMapping("/stu6")
    public String listName(String[] name){
        StringBuilder sb = new StringBuilder();
        for (String s : name) {
            sb.append(s).append(" ");
        }

        return sb.toString();

    }

 private static final String SUCCESS = "success";
    @RequestMapping(value = "/test",method = RequestMethod.POST)
    public String testResultMethod(){
        System.out.println("/test");
        return SUCCESS;
    }

    @RequestMapping(value = "/test1",params = {"username","age!=10"})
    public String testParm(){
        System.out.println("test1");
        return SUCCESS;
    }


    @RequestMapping(value = "/test2/{id}")
    public String testParm(@PathVariable Integer id){
        System.out.println("id");
        return SUCCESS;
    }
 <form method="post" action="/test">
    <input type="submit" value="提交">
  </form>
  <a href="/test1?username=111&age=9">aaa</a>
  <a href="/test2/1">PathVariable</a>

put 和delete请求

 @RequestMapping(value = "/test3/{id}",method = RequestMethod.DELETE)
    public String testDelet(@PathVariable Integer id){
        System.out.println("/test3"+id);
        return SUCCESS;
    }

    @RequestMapping(value = "/test3/{id}",method = RequestMethod.PUT)
    public String testPut(@PathVariable Integer id){
        System.out.println("/test3/"+id);
        return SUCCESS;
    }

发送请求

<form method="post" action="/test3/1">
    <input type="hidden" value="DELETE" name="_method">
    <input type="submit" value="delete">
  </form>
  <form method="post" action="/test3/1">
    <input type="hidden" value="PUT" name="_method">
    <input type="submit" value="put">
  </form>

xml配置

    <!-- 增加HiddenHttpMethodFilte过滤器:给普通浏览器增加 put|delete请求方式 -->

 <filter>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>HiddenHttpMethodFilter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

在要跳转的jsp页面加上isErrorPage="true"

<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>

否则会报错(Tomcat8.0以上不支持delete和put请求)
在这里插入图片描述
获取JSESSIONID

  @RequestMapping("/cookie")
    public String testCookie(@CookieValue(value = "JSESSIONID")String sessionId){
        System.out.println(sessionId);
        return SUCCESS;
    }


给前端页面赋值

ModelAndView

 @RequestMapping("/test7")
    public ModelAndView testModel()  {
        String success = SUCCESS;
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("time", new Date());
        modelAndView.setViewName(SUCCESS);
        return modelAndView;
    }

前端

time:${requestScope.time}

Map


    @RequestMapping("/test8")
    public String testMap(Map<String,Object>map)  {
        System.out.println(map.getClass().getName());
        map.put("names", Arrays.asList("张三", "李四","王五"));
        return SUCCESS;
    }

前端

names:${requestScope.names}
   @RequestMapping("/test9")
    public String test(Map<String,Object>map){
        User user = new User("福尔摩斯", "123", "fu@163.com", 13, new Address("伦敦", "贝克街221B"));
        map.put("user", user);

        return SUCCESS;
    }

前端页面

request:${requestScope.user}

@ModelAttribute会在每个方法前执行查询user,并赋值给方法所需的地方

 @ModelAttribute
    public void getUser(Map<String,Object>map){
        User user = new User("福尔摩斯", "123", "fu@163.com", 13, new Address("伦敦", "贝克街221B"));
        map.put("user", user);

    }

    @RequestMapping("/test9")
    public String test(User user){
        System.out.println(user);
        return SUCCESS;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值