方式一:直接设置方法的参数名
方式二:通过HttpServletRequest获取
方式三:通过对象,表单的name属性的值value必须与对象的属性一致
controller
package com.lin.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.servlet.ModelAndView;
import com.lin.user.UserInfo;
@Controller
@RequestMapping("/user")
public class UserServlet {
//参数获取方式一:直接设置方法的参数名,参数名与传来的参数name一样
@RequestMapping("/list1.do")
public ModelAndView list1(String userName, Integer password){
System.out.println(userName+password);
ModelAndView mav = new ModelAndView("index");
mav.addObject("userName", userName);
mav.addObject("password", password);
return mav;
}
//参数获取方式二:通过HttpServletRequest获取
@RequestMapping(value="/list2.do")
public ModelAndView list2(HttpServletRequest req){
ModelAndView mav = new ModelAndView("index");
mav.addObject("userName", req.getParameter("userName"));
mav.addObject("password", req.getParameter("password"));
return mav;
}
//参数获取方式三:通过对象,表单的name属性的值value必须与对象的属性一致
@RequestMapping("/list3.do")
public ModelAndView list3(UserInfo user){
System.out.println(user);
ModelAndView mav = new ModelAndView("index");
mav.addObject("user", user);
return mav;
}
//注意参数Date类型导入的包为import java.util.Date;而不是java.sql.Date
@RequestMapping("/date.do")
public ModelAndView date(Date userTime){
System.out.println(userTime);
ModelAndView mav = new ModelAndView("index");
mav.addObject("userTime", userTime);
return mav;
}
/**
* 时间属性编辑器
* @param bin
*/
@InitBinder
public void initBinder(ServletRequestDataBinder bin){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss");
CustomDateEditor cust = new CustomDateEditor(sdf, true);
bin.registerCustomEditor(Date.class, cust);
}
}
UserInfo对象,必须生成set与get方法
package com.lin.user;
import java.util.Arrays;
import java.util.Date;
public class UserInfo {
private Integer userId;
private String userName;
private String userSex;
private String[] userHabit;
private Date userTime;
public Date getUserTime() {
return userTime;
}
public void setUserTime(Date userTime) {
this.userTime = userTime;
}
public String[] getUserHabit() {
return userHabit;
}
public void setUserHabit(String[] userHabit) {
this.userHabit = userHabit;
}
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 + ", userHabit="
+ Arrays.toString(userHabit) + ", userTime=" + userTime + "]";
}
}
前端index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="user/list1.do" method="POST">
userName:<input type="text" name="userName"/></br>
password:<input type="text" name="password"/></br>
<input type="submit" value="方式1"/>
</form>
<form action="user/list2.do" method="POST">
userName:<input type="text" name="userName"/></br>
password:<input type="text" name="password"/></br>
<input type="submit" value="方式2"/>
</form>
<h1>userName:${userName } password:${password}</h1>
<form action="user/list3.do" method="POST">
userId:<input type="text" name="userId"/><br>
userName:<input type="text" name="userName"/><br>
userSex:<input type="text" name="userSex"/><br>
userTime:<input type="text" name="userTime"><br>
userHabit:<input type="checkbox" name="userHabit" value="eat"/>eat
<input type="checkbox" name="userHabit" value="cook"/>cook
<input type="checkbox" name="userHabit" value="sleep"/>sleep<br>
<input type="submit" value="方式3"/>
</form>
<h2>userId:${user.userId } userName:${user.userName }
userSex:${user.userSex } userHabit:
<c:forEach items="${user.userHabit}" var="val">
<b>${val}</b>
</c:forEach>
</h2>
<h1>${user.userTime }</h1>
<form action="user/date.do" method="post">
时间:<input type="text" name="userTime">
<input type="submit" value="date"/>
</form>
<h1>${userTime }</h1>
</body>
</html>