您的位置:首页 > 编程语言 > Java开发

SpringMVC参数传递

2015-11-25 09:20 375 查看
SpringMVC的参数传递方式有三种:

1、 通过设置HttpServletRequest request 来获取数据

2、直接设置参数add(@RequestParam(value="number")String userNumber,Integer passWord)

3、通过对象:表单的name属性的值必须和类的属性名称一致

控制器代码如下:

package com.smile.controller;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import com.smile.po.UserInfo;

/**
* user/list.do
* user/add.do
* @author yingjie
*
*/
@Controller
@RequestMapping("/user")
public class UserController {

@RequestMapping(value="/add1.do")
public String add(HttpServletRequest request){

String userNumber = request.getParameter("userNumber");
String passWord = request.getParameter("passWord");

System.out.println("userNumber:"+userNumber+" passWord:"+passWord);

return "user_add1";
}

@RequestMapping(value="/add2.do")
public String add(@RequestParam(value="number")String userNumber,Integer passWord){
//自动类型转换为Integer
System.out.println("userNumber:"+userNumber+" passWord:"+passWord);

return "user_add2";
}

@RequestMapping(value="/add3.do")
public String add3(UserInfo user){

System.out.println(user);

return "user_add3";
}
@RequestMapping
public String add4(Integer userId,Date userTime){

System.out.println(userId);
System.out.println(userTime);

return "user_add4";
}

/**
* 时间属性编辑器
*/
@InitBinder
public void initBinder(ServletRequestDataBinder binder){

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

CustomDateEditor cust = new CustomDateEditor(sdf, true);

binder.registerCustomEditor(Date.class,cust);
}

}


user_add1.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>用户信息添加</h1>
<form action="user/add1.do" method="post">
账号:<input  type="text" name="userNumber" /><br/>
密码:<input  type="text" name="passWord" /><br/>
<input type="submit" value="提交"/>
</form>

</body>
</html>
user_add2.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>用户信息添加2</h1>
<form action="user/add2.do" method="post">
账号:<input  type="text" name="number" /><br/>
密码:<input  type="text" name="passWord" /><br/>
<input type="submit" value="提交"/>
</form>

</body>
</html>
user_add3.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>用户信息添加3</h1>
<form action="user/add3.do" method="post">
编号:<input  type="text" name="userId" /><br/>
姓名:<input  type="text" name="userName" /><br/>
性别:<input  type="text" name="userSex" /><br/>
兴趣爱好:
<input type="checkbox" name="userXq" value="LOL"/>LOL
<input type="checkbox" name="userXq" value="英雄联盟"/>英雄联盟
<input type="checkbox" name="userXq" value="DOTA"/>DOTA<br/>
时间:<input  type="text" name="userTime" /><br/>

<input type="submit" value="提交"/>
</form>

</body>
</html>
user_add4.jsp:

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<h1>用户信息添加4</h1>
<form action="user/add4.do" method="post">
编号:<input  type="text" name="userId" /><br/>

时间:<input  type="text" name="userTime" /><br/>

<input type="submit" value="提交"/>
</form>

</body>
</html>
需要注意的是在输入时间时需要在控制器中增加时间属性编辑器。
userInfo:

package com.smile.po;

import java.util.Arrays;
import java.util.Date;

import org.springframework.format.annotation.DateTimeFormat;

public class UserInfo {

private Integer userId;

private String userName;

private String userSex;

private String[] userXq;

private Date userTime;

public String[] getUserXq() {
return userXq;
}

public void setUserXq(String[] userXq) {
this.userXq = userXq;
}

public Integer getUserId() {
return userId;
}

public void setUserId(Integer userId) {
this.userId = userId;
}

public String getUserName() {
return userName;
}

public void setUserName(String userName) {
this.userName = userName;
}

public String getUserSex() {
return userSex;
}

public void setUserSex(String userSex) {
this.userSex = userSex;
}

@Override
public String toString() {
return "UserInfo [userId=" + userId + ", userName=" + userName
+ ", userSex=" + userSex + ", userXq="
+ Arrays.toString(userXq) + ", userTime=" + userTime + "]";
}

public Date getUserTime() {
return userTime;
}

public void setUserTime(Date userTime) {
this.userTime = userTime;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring mvc