绑定默认数据类型
添加相关JAR包
springmvc-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
">
<context:component-scan base-package="com.itheima.controller" />
<mvc:default-servlet-handler />
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
id="internalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
UserController.java
package com.itheima.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.itheima.po.User;
@Controller
public class UserController {
@RequestMapping(value="/show")
public String show(@RequestParam(value="sno") String id,@RequestParam(value="sname") String name, Model model) {
System.out.println("学号为"+id);
System.out.println("名字为"+name);
model.addAttribute("sno",id);
model.addAttribute("sname",name);
return "success";
}}
success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
ok
</body>
</html>
绑定POJO类型
User.java
package com.itheima.po;
public class User {
private Integer id;
private String username;
private Integer password;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id=id;
}
public String getUsername() {
return username;
}
public void setUsername( String username) {
this.username=username;
}
public Integer getPassword() {
return password;
}
public void setPassword(Integer password) {
this.password=password;
}
}
UserController.java
package com.itheima.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.itheima.po.User;
@Controller
public class UserController {
@RequestMapping(value="/toRegister")
public String toRegister() {
return "register";
}
@RequestMapping(value="/registerUser")
public String registerUser(User user) {
String username=user.getUsername();
Integer password=user.getPassword();
System.out.println("username="+username);
System.out.println("password="+password);
return "success";
}
}
register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>注册</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/registerUser"method="post">
用户名:<input type="text" name="username"/><br/>
密 码: <input type="text" name="password"/><br/>
<input type="submit" value="注册"/>
</form>
</body>
</html>
绑定包装POJO
orders.java
package com.itheima.po;
public class Orders {
private Integer ordersId;
private User user;
public Integer getOrdersId() {
return ordersId;
}
public void setOrdersId(Integer ordersId) {
this.ordersId=ordersId;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user=user;
}
}
OrdersController.java
package com.itheima.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.itheima.po.User;
import com.itheima.po.Orders;
@Controller
public class OrdersController {
@RequestMapping(value="/tofindOrdersWithUser")
public String tofindOrdersWithUserr() {
return "orders";
}
@RequestMapping(value="/findOrdersWithUser")
public String findOrdersWithUserr(Orders orders) {
Integer ordersId=orders.getOrdersId();
User user=orders.getUser();
String username=user.getUsername();
System.out.println("orderId="+ordersId);
System.out.println("username="+username);
return "success";
}
}
orders.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>订单查询</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/findOrdersWithUser"method="post">
订单编号:<input type="text" name="ordersId"/><br/>
所属用户:<input type="text" name="user.username"/><br/>
<input type="submit" value="查询"/>
</form>
</body>
</html>
自定义数据绑定
DateConverter.java
package com.itheima.convert;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.core.convert.converter.Converter;
public class DateConverter implements Converter<String,Date> {
private String datePattern="yyyy-MM-dd HH:mm:ss";
@Override
public Date convert(String source) {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat(datePattern);
try {
return sdf.parse(source);
} catch (ParseException e) {
// TODO Auto-generated catch block
throw new IllegalArgumentException(
"无效的日期格式,请使用这种格式"+datePattern);
}
}
}
springmvc-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
">
<context:component-scan base-package="com.itheima.controller" />
<mvc:default-servlet-handler />
<mvc:annotation-driven />
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
id="internalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<mvc:annotation-driven conversion-service="conversionService" />
<bean
class="org.springframework.context.support.ConversionServiceFactoryBean"
id="conversionService">
<property name="converters">
<set>
<bean class="com.itheima.convert.DateConverter"/>
</set>
</property>
</bean>
</beans>
DateController.java
package com.itheima.controller;
import java.util.Date;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DateController {
@RequestMapping(value="/customDate")
public String CustomDate(Date date) {
System.out.println("date="+date);
return "success";}
}