博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BeanUtils数据封装与表单JavaBean
阅读量:6852 次
发布时间:2019-06-26

本文共 3126 字,大约阅读时间需要 10 分钟。

一.BeanUtils工具的解释 

(1)Apache的Commons组件中。提供了一个实用的工具类BeanUtils,利用它可以方便的将表单数据值填充值Bean中;

(2)javax.servlet.ServletRequest.getParameterMap()

在ServletRequest接口中,getParameter()方法的作用在于将client传来的參数封装在一个Map对象中,致谢參数能够通过GET POST

方法提交;

(3)org.apache.commons.beanutils.BeanUtils.populate()

这种方法的作用是将存储在Map中的參数填入给定的一个JavaBean对象中;

BeanUtils.populate(),第一个形參是一个bean对象,也就是表单的JavaBean,第二个形參是一个Map对象。也就是存储有表单圆度的Map对象;

二.举例具体解释

(1)编写一个JavaBean程序类RegForm

package my;public class RegForm {    private String userName;    private String password;    private String sect;    private String hobby[];    private String memo;        public void setUserName(String s)    {    	userName=s;    	}    public String getUserName()    {    	return userName;    	}    public void setPassword(String s)    {    	password=s;    	}    public String getPassword()    {    	return password;    	}       public void setSect(String s)    {    	sect=s;    	}    public String getSect()    {    	return sect;    	}     		    public void setHobby(String s[])    {    	hobby=s;    	}    public String[] getHobby()    {    	return hobby;    	}      public void setMemo(String s)    {    	memo=s;    	}    public String getMemo()    {    	return memo;    	} }

(2)新建一个填写数据的表单

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
无标题文档
//反射机制将表单自己主动填到‘my’表单中
您的username是:
您的口令是:
您的性别是:
您的爱好是:<% String h[]=my.getHobby(); if(h!=null) for(int i=0;i
您的附言是:
(3)新建一个Servlet程序    reformServlet处理表单

package my;import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import org.apache.commons.beanutils.*;public class RegFormServlet extends HttpServlet {    protected void doGet(HttpServletRequest request,HttpServletResponse response)                         throws ServletException,java.io.IOException   {      ServletContext application=getServletContext() ;      ServletConfig config=getServletConfig() ;      response.setContentType("text/html;charset=gb2312");      PrintWriter out=response.getWriter();       HttpSession session =request.getSession();      request.setCharacterEncoding("gb2312");            RegForm form=new RegForm();	  Map  map=request.getParameterMap();	  try	  {	  	 BeanUtils.populate(form,map);	  }catch(Exception e)	  {	  	System.out.println("表单处理出错:"+e);	  	}	    out.print("
您的姓名是:"+form.getUserName()); out.print("
您的口令是:"+form.getPassword()); out.print("
您的性别是:"+form.getSect()); out.print("
您的爱好是:"); String h[]=form.getHobby(); if(h!=null) for(int i=0;i
您的附言是:"+form.getMemo()); } protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,java.io.IOException { doGet(request,response); }}
(4)另一个创建数据的界面

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
无标题文档

会员注冊信息

username:

口令:

性别:

爱好: 篮球 排球 足球

附言:

(5)关于servlet的部署省去过程

(6)ok!

转载地址:http://ukyyl.baihongyu.com/

你可能感兴趣的文章
9.ORM数据访问
查看>>
在RHEL5下搭建SSH远程登录服务器
查看>>
使用Moblin SDK开发应用程序 -- Image Creator
查看>>
【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记14 视图绘制Demo
查看>>
/dev/null &
查看>>
在Ubuntu上安装Node.js的Upstream版本
查看>>
扩展GridView控件(8) - 导出数据源的数据为Excel、Word或Text
查看>>
CISCO路由器配置基础(3)
查看>>
linux下通过串口登陆交换机
查看>>
微信公众平台群发规则说明
查看>>
LINUX下直接使用ISO文件
查看>>
第四章 apache的工作模式
查看>>
mysql备份和恢复总结
查看>>
软件明明已经删除 控制面板里还有名称
查看>>
深入浅出的SQL server 查询优化
查看>>
Hyper-V vNext新的虚拟机配置文件、配置版本
查看>>
通俗易懂,各常用线程池的执行 流程图
查看>>
CentOS 6.4 安装python2.7/mysqldb/ipython
查看>>
hive0.11 hiveserver custom认证bug
查看>>
Windows Phone SDK 8.0 新特性-Speech
查看>>