JavaSpring接收参数

收参操作:
前端传参格式:?key=value&key2=value2

    //控制器中指定了一个/user路径
    @Controller //控制器组件  类似于  
    @RequestMapping("/user") /*请求映射路径,handler*/
    public class UserController {

        @RequestMapping("/show")
        public String show(){
            System.out.println("show...");
            return "ok";
        }
    }


1.基本
访问网址:http://localhost:8080/user/param1?id=123&name=sdf&birthday=2020-01-12
注意路径自己家点user路径不能忘记

UserController:
 //1.基本类型收参:?id=111$name=sfa&birthday=2020/01/02 参数名和控制器形参名一致 @DateTimeFormat(pattern="yyyy-mm-dd")自定义日期格式
    @RequestMapping("/paraml")
    public String paraml(Integer id, String name,@DateTimeFormat(pattern="yyyy-mm-dd") Date birthday){//注意日期的格式
        System.out.println(id+"--->"+name+"--->"+birthday);
        return "ok";
    }

2.实体
endity中要有一个实体类型 可是User   加lombok包

访问网址:http://localhost:8080/user/param2?id=123&name=sdf&birthday=2020-01-12  //日期格式要注意,要么默认,要么自己设定

//@Date  get set 方法 java.com.qf.endity中的User.java
@Data
public class User {
    private Integer id;
    private String name;
    @DateTimeFormat(pattern = "yyyy-mm-dd") //转日期格式
    private Date birthday;
}
    //2.实体收参
    @RequestMapping("/param2")
    public String param2(User user){//注意日期的格式
        System.out.println("--->"+user);
        return "ok";
    }

3.数组
访问:http://localhost:8080/user/array?loves=sdfasdfasdfa&loves=fdbse&loves=sadga
    //3.数组收参
    @RequestMapping("/array")
    public String array(String[] loves){
        System.out.println(Arrays.toString(loves));//将数组传入,以字符串的方式打印输出就可以
//        System.out.println(loves[0]+"=="+loves[1]);
        return "ok";
    }


4.路径传参 localhost:8080/user/path/6
访问:http://localhost:8080/user/path/4
    @RequestMapping("/path/{id}")//@PathVariable("id") 把path路径的id值取到并且赋给形参id
    public String path(@PathVariable("id") Integer id){//如果id和形参名一样可以去掉{id}
        System.out.println("path--->"+id);
        return "ok";
    }



跳转:
    转发:一次请求,跳转后,url路径不变
    UserController.java:

      //------------------转发----------------
        @RequestMapping("/forward1")
        public String forward1(){
            System.out.println("forward1....");
            return "forward:/ok.jsp";//forward:自定义格式后,视图解析器不会帮我们解析,跳转路径要写全
        }

        @RequestMapping("/forward2")
        public String forward2(){
            System.out.println("2....");
            return "forward:/user/forward1";//跳转到映射路径
        }


    重定向:二次请求,跳转后,url路径会变
        //------------------重定向----------------
        @RequestMapping("/redir1")
        public String redir1(){
            System.out.println("重定向...1");
            return "redirect:/ok.jsp";
        }
    
        @RequestMapping("/redir2")
        public String redir2(){
            System.out.println("重定向...2");
            return "redirect:/user/redir1"; //跳转到映射路径/redir1
        }

你可能感兴趣的:(SpringMVC,java)