SpringMVC-six(Controller中参数绑定)

06【掌握】Controller中参数绑定

1,简单类型参数绑定

1.创建index.jsp
SpringMVC-six(Controller中参数绑定)
2.创建UserController
SpringMVC-six(Controller中参数绑定)
3.注意点
页面表单的name属性值要和Controller方法的形式参数的名字一样

2,集合类型参数绑定【数组】

1.修改index.jsp
SpringMVC-six(Controller中参数绑定)
SpringMVC-six(Controller中参数绑定)
2.修改UserController

SpringMVC-six(Controller中参数绑定)

3,对象类型参数绑定【重点】

1.修改index.jsp
SpringMVC-six(Controller中参数绑定)
2.创建User
SpringMVC-six(Controller中参数绑定)
3.修改UserController
SpringMVC-six(Controller中参数绑定)

3,日期类型参数绑定【重点】

1.修改index.jsp
SpringMVC-six(Controller中参数绑定)
2.修改UserController
SpringMVC-six(Controller中参数绑定)
3.修改User
SpringMVC-six(Controller中参数绑定)

4,Servlet的常用对象参数绑定

得到request session servletContext respose

1.修改index.jsp
SpringMVC-six(Controller中参数绑定)
2.修改UserController
方式1【直接做为形式参数】
SpringMVC-six(Controller中参数绑定)
方式2【使用注入的方式】
SpringMVC-six(Controller中参数绑定)
方式2的注意点
所在类的对象必须由IOC容器创建 否则无法注入

5,HttpServletRequest的多种绑定方式

1.方式1
在Controller的方法里面作为形式参数
SpringMVC-six(Controller中参数绑定)
2.方式2
在IOC容器创建的对象里面使用注入的方法
SpringMVC-six(Controller中参数绑定)
3.方式3完全解耦的方式
创建WebUtils

/**
 * springmvc的web常用对象获取工具类
 * @author LJH
 *
 */
public class WebUtils {

	/**
	 * 得到ServletRequestAttributes
	 * @return
	 */
	public static ServletRequestAttributes getServletRequestAttributes() {
		ServletRequestAttributes requestAttributes = (ServletRequestAttributes) RequestContextHolder
				.getRequestAttributes();
		return requestAttributes;
	}

	/**
	 * 得到当前线程的HttpServletRequest
	 */
	public static HttpServletRequest getCurrentRequest() {
		HttpServletRequest request = getServletRequestAttributes().getRequest();
		return request;
	}

	/**
	 * 得到当前线程的HttpServletResponse
	 */
	public static HttpServletResponse getCurrentResponse() {
		HttpServletResponse response = getServletRequestAttributes()
				.getResponse();
		return response;
	}

	/**
	 * 得到当前线程的HttpSession
	 */
	public static HttpSession getCurrentSession() {
		return getCurrentRequest().getSession();
	}

	/**
	 * 得到当服务器的ServletContext
	 */
	public static ServletContext getServletContext() {
		return getCurrentRequest().getServletContext();
	}

}