javaweb——BeanUtils工具的使用

第一步:创建表单

<%@ 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 'Bean.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>
   <h1>表单</h1>

   <form action="<c:url value='/BeanServlet'/>" method="post">
   <table>
   <tr>
   <td style="text-align:right;">USERNAME:</td><td><input type="text" name="username"/></td>
   </tr>
   <tr>
   <td style="text-align:right;">PASSWORD:</td><td><input type="text" name="password"/></td>
   </tr>
   <tr>
   <td style="text-align:right;">NUMBER:</td><td><input type="text" name="number"/></td>
   </tr>
   <tr>
   <td style="text-align:right;">AGE:</td><td><input type="text" name="age"/></td>
   </tr>
   <tr>
   <td style="text-align:right;">CLASSES:</td><td><input type="text" name="classes"/></td>
   </tr>
   <tr>
   <td colspan="2"><input type="submit" value="Enter"></td>
   </tr>
   </table>
   </form>
  </body>
</html>
第二步:创建对象类

public class User {
	public String username;
	public String password;
	public int number;
	public int age;
	public String classes;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	public int getNumber() {
		return number;
	}
	public void setNumber(int number) {
		this.number = number;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getClasses() {
		return classes;
	}
	public void setClasses(String classes) {
		this.classes = classes;
	}
	@Override
	public String toString() {
		return "User [username=" + username + ", password=" + password
				+ ", number=" + number + ", age=" + age + ", classes="
				+ classes + "]";
	}
	
}
第三步:创建servlet将表单数据封装到对象中

import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.InvocationTargetException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.beanutils.BeanUtils;

import com.java.test.User;

public class BeanServlet extends HttpServlet {

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		request.setCharacterEncoding("utf-8");
		response.setContentType("text/html;charset=utf-8");
		User user= new User();
		/*
		//使用BeanUtils的setproperty方法可以将表单的每个属性分别封装到user对象中
		try {
			BeanUtils.setProperty(user, "username",request.getParameter("username"));
			BeanUtils.setProperty(user, "password",request.getParameter("password"));
			BeanUtils.setProperty(user, "number",request.getParameter("number"));
			//....
		} catch (Exception e) {
			throw new RuntimeException();
		}
		*/
		//用BeanUtils的populate方法将表单的所有属性封装到user对象中
		try {
			BeanUtils.populate(user, request.getParameterMap());
			//然后可以用其他方法操作这个对象,下面仅用显示方法,其他方法均可尝试。
			response.getWriter().print(user);
		} catch (Exception e) {
			throw new RuntimeException();
		} 
		
	}

}




你可能感兴趣的:(java,Web,表单,javabean)