Spring(四):spring mvc模型数据传递、请求参数处理
2016-11-26 17:01
639 查看
一.模型数据传递到jsp
mvc模式中,控制器需要把模型数据传到视图中,首先定义一个用户数据:
user.java
控制器增加如下方法:
model中是key-value对,
增加userinfo.jsp
测试结果:
二.查询参数和路径参数
如果要根据http请求的用户id参数来显示信息,则需要处理请求中的参数;
userid在查询参数中的url,如:
userid在路径参数中的url, 如:
查询参数
控制器中的showUser方法修改如下:
浏览器中输入:
显示:
路径参数
控制器中的showUser方法修改如下:
浏览器中输入:
显示:
二.表单中的参数
web应用中,用户经常需要填充表单,提交表单内容给服务器;使用表单,需要展现表单页面和处理用户通过表单提交的数据;
添加注册页面:
register.jsp
控制器中增加方法:
浏览器中输入:
![](http://img.blog.csdn.net/20161126165516468)
增加注册处理逻辑:
此处,方法参数name和password会自动根据http传过来的参数名来构造;
增加注册成功后的页面:
注册成功:
mvc模式中,控制器需要把模型数据传到视图中,首先定义一个用户数据:
user.java
package spittr.data; import java.util.Date; public class User { private final long id; private final String name; private final Date time; public User(long id, String name, Date time){ this.id = id; this.name = name; this.time = time; } public long getId(){ return id; } public String getName(){ return name; } public Date getDate(){ return time; } }
控制器增加如下方法:
@RequestMapping(value="/show", method=GET) public String showUser( @RequestParam("userid") long userid, Model model){ User user = new User(1,"aaaa", new Date()); model.addAttribute(user); } return "userinfo"; }
model中是key-value对,
model.addAttribute(user)会添加key为user,value为User对象的数据,key是根据对象的类型名得到的;
增加userinfo.jsp
<html> <head> <title>user:${user.id}</title> </head> <body> <font face="Comic Sans MS" size=4> <blockquote> <center> <h1><font color=red>user:${user.id}</font></h1> </center> <center> <h1><font color=red>name:${user.name}</font></h1> </center> <center> <h1><font color=red>name:${user.date}</font></h1> </center> </blockquote> </font> </body> </html>
测试结果:
user:1 name:aaaa name:Wed Nov 23 21:37:34 CST 2016
二.查询参数和路径参数
如果要根据http请求的用户id参数来显示信息,则需要处理请求中的参数;
userid在查询参数中的url,如:
http://127.0.0.1:8080/spittr/show?userid=2
userid在路径参数中的url, 如:
http://127.0.0.1:8080/spittr/show_paraminpath/2
查询参数
控制器中的showUser方法修改如下:
@RequestMapping(value="/show", method=GET) public String showUser( @RequestParam("userid") long userid, Model model){ ArrayList<User> userList= new ArrayList<User>(); userList.add(new User(1,"aaaa", new Date())); userList.add(new User(2,"bbbb", new Date())); for(int i=0; i < userList.size(); ++i){ if(userList.get(i).getId() == userid){ model.addAttribute(userList.get(i)); model.addAttribute(new String("OK")); break; } } return "userinfo"; }
浏览器中输入:
http://127.0.0.1:8080/spittr/show?userid=2
显示:
user:"2" name:bbbb name:Wed Nov 23 22:09:21 CST 2016
路径参数
控制器中的showUser方法修改如下:
@RequestMapping(value="/show/{userid}", method=GET) public String showUser( @PathVariable("userid") long userid, Model model){ ArrayList<User> userList= new ArrayList<User>(); userList.add(new User(1,"aaaa", new Date())); userList.add(new User(2,"bbbb", new Date())); for(int i=0; i < userList.size(); ++i){ if(userList.get(i).getId() == userid){ model.addAttribute(userList.get(i)); model.addAttribute(new String("OK")); break; } } return "userinfo"; }
浏览器中输入:
http://127.0.0.1:8080/spittr/show/2
显示:
user:"2" name:bbbb name:Wed Nov 23 22:12:13 CST 2016
二.表单中的参数
web应用中,用户经常需要填充表单,提交表单内容给服务器;使用表单,需要展现表单页面和处理用户通过表单提交的数据;
添加注册页面:
register.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ page session="false" %> <html> <head> <title>spittr</title> </head> <body> <h1>Register</h1> <form method="POST"> Name: <input type="text" name="name" /><br/> Password: <input type="password" name="password" /><br/> <input type="submit" value="Register" /> </form> </body> </html>
控制器中增加方法:
@RequestMapping(value="/register", method=GET) public String register(){ return "register"; }
浏览器中输入:
http://127.0.0.1:8080/spittr/register
增加注册处理逻辑:
@RequestMapping(value="/register", method=POST) public String registerUser(String name, String password){ return "redirect:/registerok/"+name; }
此处,方法参数name和password会自动根据http传过来的参数名来构造;
增加注册成功后的页面:
@RequestMapping(value="/registerok/{username}", method=GET) public String registerOk(@PathVariable("username") String username, Model mode){ mode.addAttribute(username); return "registerok"; }
注册成功:
相关文章推荐
- 【Spring】详解Spring MVC中不同格式的POST请求参数的数据类型转换过程
- Spring MVC如何接收浏览器传递来的请求参数--request--形参--实体类封装(类比Struts2模型驱动)
- Ajax请求。数据的提交,参数的传递。FormCollection
- php学习笔记(三十)ajax请求和接收参数的实现方式(包括json数据格式的简单处理)
- xml数据作为表单参数在网络传递也需要用urlencode处理
- spring 统一处理http request请求返回数据,返回加密信息等
- 无论url请求什么.都可以拼接class类名.实例化.传递get参数-->给当前控制器-->传递给抽象父类-->都交给抽象父类.这个方法去处理call_user_func_array()
- 【#】Spring3 MVC (三)---请求处理方法 参数及返回值总结
- Springmvc中 同步/异步请求参数的传递以及数据的返回
- springmvc中同步/异步请求参数的传递以及数据的返回
- Spring处理请求参数的几个小细节
- Spring中,请求参数处理
- Springmvc中 同步/异步请求参数的传递以及数据的返回
- spring mvc 访问不同的目录下的jsp视图及处理POST请求参数中文乱码问题
- Spring MVC 第三讲:Spring MVC 处理数据模型
- Spring3 MVC (三)---请求处理方法 参数及返回值总结
- Springmvc中 同步/异步请求参数的传递以及数据的返回
- 处理模型数据 Spring mvc ModelAndView
- Spring Mvc那点事---(5)Spring Mvc请求参数传递
- 浅析jQuery Ajax请求参数和返回数据的处理