Spring读取页面参数与向页面传值的几种方式

package controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import java.util.HashMap;
import java.util.Map;

@Controller
public class Login {

    @RequestMapping("/toLogin.do")
    public  String login(){
        return "login";
    }

    @RequestMapping("/login.do")

    //读取请求参数的第1种方式
    //通过请求对象
    public String login1(HttpServletRequest request){
        String adminCode =
                request.getParameter("adminCode");
        String pwd = request.getParameter("pwd");
        System.out.println("adminCode:"+adminCode);
        System.out.println("pwd:"+pwd);
        return "index";
    }

    @RequestMapping("/login2.do")
    //读取请求参数值的第2种方式
    //使用注解@RequestParam注解
    public String login2(@RequestParam("adminCode") String adminCode,
                         @RequestParam("pwd") String pwd){
        System.out.println("login2()");
        System.out.println("adminCode:"+adminCode);
        System.out.println("pwd:"+pwd);
        return "index";
    }

    @RequestMapping("/login3.do")
    //读取请求参数值的第3种方式
    //请求参数封装成一个javabean
    public String login3(AdminParam ap){
        System.out.println("login3()");
        System.out.println("adminCode:"+ap.getAdminCode());
        System.out.println("pwd:"+ap.getPwd());
        return "index";
    }

    @RequestMapping("/login4.do")
    //向页面传值第1种方法
    //请求对象request绑定数据转发给jsp
    public String login4(AdminParam ap,HttpServletRequest request){
        System.out.println("login4()");
        String adminCode = ap.getAdminCode();
        System.out.println(adminCode);
        //将数据绑定到request上
        request.setAttribute("adminCode",adminCode);
        //springmvc默认使用转发
        return "index";
    }

    @RequestMapping("/login5.do")
    //向页面传值的第2种方法
    //使用ModelAndView
    public ModelAndView login5( AdminParam ap){
        System.out.println("login5()");
        String adminCode = ap.getAdminCode();
        System.out.println(adminCode);
        Map<String ,Object> data =
                new HashMap<String, Object>();
        //相当于request.setAttribute("adminCode",adminCode);
        data.put("adminCode",adminCode);
        //构造ModelAndView对象
        ModelAndView mav= new ModelAndView("index",data);
        return mav;
    }

    @RequestMapping("/login6.do")
    //页面传值的第3种方法
    //使用ModelMap
    public String login6(AdminParam ap, ModelMap mm){
        System.out.println("login6()");
        String adminCode = ap.getAdminCode();
        System.out.println(adminCode);

        //相当于request.setAttribute("adminCode",adminCode);
        mm.addAttribute("adminCode",adminCode);
        return "index";
    }

    @RequestMapping("/login7.do")
    //页面传值的第4种方法
    //使用seession
    public String login7(AdminParam ap, HttpSession session){
        System.out.println("login7(118)");
        String adminCode = ap.getAdminCode();
        System.out.println(adminCode);
        session.setAttribute("adminCode",adminCode);
        return "index";
    }

    @RequestMapping("/login8.do")
    public  String login8(){
        System.out.println("login8()");
        return "redirect:toIndex.do";
    }

    @RequestMapping("/toIndex.do")
    public String toIndex(){
        System.out.println("toIndex()");
        return "index";
    }

    @RequestMapping("/login9.do")
    public ModelAndView login9(){
        System.out.println("login9()");
        RedirectView rv =
                new RedirectView("toIndex.do");
        return new ModelAndView(rv);
    }
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值