springmvc后台往页面传值

先说说页面往后台传值的方法,欢迎补充:
一、form表单提交(常用)
二、JQuery中的ajax提交(常用)
三、通过url字符串拼接向后台提交数据

再来说说后台获取值的常用方法:

任意一种方法
帐号:
密码:
方法1:参数直接获取 ps: 函数参数名与请求参数名保持一致。 @RequestMapping("/login") public String login(String loginName,String password){ System.out.println("方法1:参数直接获取"); System.out.println("loginName:"+loginName); System.out.println("password:"+password); return "loginSuccess"; } 方法2:对象获取 ps:建立一个对象,属性名对应请求参数名保持一致,并生成相应的getter()和setter()方法。 建立对象User: package com.test.pojo; public class User { private String loginName; private String password; public String getLoginName() { return loginName; } public void setLoginName(String loginName) { this.loginName = loginName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } } 开始接收: @RequestMapping("/login") public String login(User u){ System.out.println("方法2:对象获取"); System.out.println("loginName:"+u.getLoginName()); System.out.println("password:"+u.getPassword()); return "loginSuccess"; } 方法3:@RequestParam参数绑定获取 ps:方法1的变种,但该接收参数名可以随意,通过注解@RequestParam指明即可。 请求URL为: http://localhost:8080/springmvc/hello/100?loginName=wangwu&password=123456 对于上面这个url,controller里面可以这么写: @RequestMapping("/login") public String login(@RequestParam("loginName") String name,@RequestParam("password") String pwd){ System.out.println("方法3:参数绑定获取"); System.out.println("loginName:"+name); System.out.println("password:"+pwd); return "loginSuccess"; } 方法4:@PathVariable获取请求路径中的参数 这个注解能够识别URL里面的槽位,如下面的{id},我们看下面的一个URL http://localhost:8080/springmvc/hello/101?param1=10¶m2=20 对于上面的一个url可以这样写: @RequestMapping("/hello/{id}") public String getDetails(@PathVariable(value="id") String id, @RequestParam(value="param1", required=true) String age, @RequestParam(value="param2", required=false) String count){ ....... } 向前台传值(除了使用ModelAndView方式外,可以在声明方法的时候声明也可以在代码中声明。还可以使用Map、Model和ModelMap的方式,必须在方法中声明),如下ModelAndView可行,Map不行: public String showdXxnr(String tsxxmx) { // ModelAndView model=new ModelAndView(); // model.addObject("name", "李四"); // model.setViewName("/xxts/xxnr"); Map map=new HashMap(); ······ } 使用Map、Model和ModelMap的方式 @RequestMapping("/test") public String test(Map map,Model model,ModelMap modelMap,HttpServletRequest request){ //1.放在map里 map.put("names", Arrays.asList("cai","zhi","ci")); //2.放在model里 建议使用 model.addAttribute("time", new Date()); //3.放在request里 request.setAttribute("request", "requestValue"); //4.放在modelMap中 modelMap.addAttribute("city", "ChengDu"); modelMap.put("gender", "male"); return "hello"; } JSP写法: 使用EL表达式 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> time:${requestScope.time} names:${requestScope.names } city:${requestScope.city } gender:${requestScope.gender } request:${requestScope.request}

你可能感兴趣的:(springmvc后台往页面传值)