javaweb——BeanUtils工具的使用

来源:互联网 发布:乔治亚当斯基事件知乎 编辑:程序博客网 时间:2024/06/06 07:16

第一步:创建表单

<%@ 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;}@Overridepublic 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();} }}




0 0
原创粉丝点击