绑定默认数据类型

添加相关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/>
密&nbsp;&nbsp;&nbsp;&nbsp;码:&nbsp;&nbsp;&nbsp;<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";}
}

项目列表

简单的数据绑定

相关文章:

  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-12-16
  • 2021-07-17
  • 2021-12-20
  • 2021-09-22
  • 2021-08-19
相关资源
相似解决方案