springmvc读取请求参数值,向界面传值

读取请求参数值
方式一 通过request
    @RequestMapping("/login.do")
    /*
     * (了解)
     * DispatcherServlet在调用Controller
     * 的方法之前,会利用java反射机制分析
     * 方法的结构,然后将需要的对象作为参数
     * 传递过来(并如将request对象作为参数
     * 传递过来)。
     */
    public String login(HttpServletRequest request){
        System.out.println("login()");
        String adminCode=request.getParameter("adminCode");
            //获取到界面上name = pwd的值
        String pwd = 
            request.getParameter("pwd");
        System.out.println("adminCode:" 
            + adminCode + " pwd:" + pwd);
        return "index";
    }
方式二 通过@RequestParam。
@RequestMapping("/login2.do")
    /*
     * 形参名要与请求参数名一致。
     * 如果不一致,使用@RequestParam。
     */
    public String login2(String adminCode,@RequestParam("pwd") String password){
        System.out.println("login()");
        System.out.println("adminCode:" 
                + adminCode + " pwd:" 
                + password);
        return "index";
    }
方式三 通过javabean。
    @RequestMapping("/login3.do")
    public String login3(AdminParam ap){
    //AdminParam属性和界面定义的控件的name名一致
        System.out.println("login3()");
        System.out.println("adminCode:" 
        + ap.getAdminCode() + " pwd:"
                + ap.getPwd());
        return "index";
    }
向页面传值

方式一 将数据绑订到request。

@RequestMapping("/login4.do")
    public String login4(AdminParam ap,
            HttpServletRequest request){
        System.out.println("login4()");

        request.setAttribute("adminCode",
                ap.getAdminCode());
        /*
         * DispatcherServlet默认会使用转发
         */
        return "index";
    }

方式二 返回ModelAndView。

@RequestMapping("/login5.do")
    /*
     * (了解)
     *  DispatcherServlet会从ModelAndView
     * 对象当中将数据(即Map)取出来,然后
     * 将Map中的数据绑订到request(以key作为
     * 绑订名,以value作为绑订值)。
     */
    public ModelAndView login5(AdminParam ap){
        //先将数据添加到ModelAndView
        Map<String,Object> data = 
            new HashMap<String,Object>();
        data.put("adminCode", 
                ap.getAdminCode());
        ModelAndView mav  = 
                new ModelAndView(
                        "index",data);
        //然后返回ModelAndView
        return mav;
    }

方式三 将数据绑订到ModelMap

@RequestMapping("/login6.do")
    /*
     * (了解)
     * DispatcherServlet会从ModelMap
     * 中取出数据,然后绑订到request。
     */
    public String login6(AdminParam ap,ModelMap mm){
           mm.addAttribute("adminCode",ap.getAdminCode());

            return "index";
    }

方式四 将数据绑订到session。

@RequestMapping("/login7.do")
    public String login7(AdminParam ap,HttpSession session){
            session.setAttribute("adminCode",ap.getAdminCode());
        //重定向
        return "redirect:toIndex.do";
    }

原则:尽量使用生命周期短的传值,避免资源的浪费。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值