spring实现表单与服务器的数据交互

来源:互联网 发布:关于网络暴力的演讲稿 编辑:程序博客网 时间:2024/06/10 06:39
一.实现功能:在jsp表单中添加数据,点击确定提交到服务器并在控制台输出!表单提交两个参数,name分别为adminCode,pwd.
1.通过request
@RequestMapping("/login.do")/** 注(了解):* DispatcherServlet在调用Controller* 的方法之前,会利用java反射分析方法的结*  构。这儿,会将request对象传过来。*/public String login(HttpServletRequest request){System.out.println("login()");String adminCode = request.getParameter("adminCode");String pwd = request.getParameter("pwd");System.out.println(adminCode+ " " + pwd);return "index";}

2.通过@RequestParam注解
@RequestMapping("/login2.do")/** 注(了解)* DispatcherServlet会调用request对象* 的方法获得相应的参数值,然后赋给相应的* 形参。* 如果形参名与请求参数名不一致,使用*  @RequestParam注解来说明对应关系。*/public String login2(String adminCode,@RequestParam("pwd") String password){System.out.println("login2()");System.out.println(adminCode + " " + password);return "index";}
3.建立一个bean,bean中属性与表单参数对应。
@RequestMapping("/login3.do")public String login3(AdminParam ap){System.out.println("login3()");String adminCode = ap.getAdminCode();String pwd = ap.getPwd();System.out.println(adminCode + " " + pwd);return "index";}

二。服务器将接收到的参数转发到页面
1.
@RequestMapping("/login4.do")public String login4(AdminParam ap,HttpServletRequest request){System.out.println("login4()");String adminCode = ap.getAdminCode();//将数据绑订到request对象上request.setAttribute("adminCode", adminCode);//DispatcherServlet默认会使用转发return "index";}

2.

@RequestMapping("/login5.do")public ModelAndView login5(AdminParam ap){System.out.println("login5()");String adminCode = ap.getAdminCode();/** 将数据添加到ModelAndView对象上。* 分两步:* step1.将数据添加到Map。* step2.将Map添加到ModelAndView。* */Map<String,Object> data = new HashMap<String,Object>();/** (了解)* DispatcherServlet会将ModelAndView* 中的数据取出来,然后绑订到request* 上(绑订名是Map中的key)*/data.put("adminCode", adminCode);ModelAndView mav = new ModelAndView("index",data);return mav;}

3.
@RequestMapping("/login6.do")public String login6(AdminParam ap,ModelMap mm){System.out.println("login6()");String adminCode = ap.getAdminCode();/** (了解)* DispatcherServlet从ModelMap* 对象上获取数据,然后将这些数据* 绑订到request。*/mm.addAttribute("adminCode", adminCode);return "index";}
4.
@RequestMapping("/login7.do")public String login7(AdminParam ap,HttpSession session){System.out.println("login7()");String adminCode = ap.getAdminCode();//将数据绑订到sessionsession.setAttribute("adminCode", adminCode);return "index";}
三。重定向
1.处理器方法的返回值是String
在重定向地址前添加 "redirect:"
比如:
    return "redirect:toIndex.do";

2.处理器方法的返回值是ModelAndView

RedirectView rv =         new RedirectView("toIndex.do");ModelAndView mav =         new ModelAndView(rv);return mav;


















































原创粉丝点击