`
把阳光剪成雨Java
  • 浏览: 24106 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

把前台的form表单提交内容封装成formbean,并对form中的文本框进行校验

阅读更多

package cn.domain;

import java.util.HashMap;
import java.util.Map;

import org.apache.commons.beanutils.locale.converters.DateLocaleConverter;

public class formbean {
 private String userName;
 private String nickName;
 private String mail;
 private String birthday;
 private String password;
 private String password2;

//可能各个文本框可能出现的文本错误封装到map集合中比较好取
 private Map errorsmap = new HashMap();

 public boolean confirm() {
  boolean isOk = true;
  if (userName == null && userName.trim().equals("")) {
   isOk = false;
   errorsmap.put("userName", "用户名不能是空");
  } else {
   if (!userName.matches("[a-zA-Z](3,8)")) {
    isOk = false;
    errorsmap.put("userName", "用户名为3-8位字母!");
   }
  }

  if (password == null && password.trim().equals("")) {
   isOk = false;
   errorsmap.put("password", "密码不能是空的");
  } else {
   if (!password.matches("
\\d(3,8)")) {
    isOk = false;
    errorsmap.put("password", "密码必须是3-8位数字");
   }
  }
  if (password2 == null && password2.trim().equals("")) {
   isOk = false;
   errorsmap.put("password2", "重新密码不能是空的");
  } else {
   if (!password.matches("
\\d(3,8)")) {
    isOk = false;
    errorsmap.put("password2", "密码必须是3-8位数字");
   }
  }
  if (password != password2) {
   isOk = false;
   errorsmap.put("password2", "两次输入的密码不一样");
  }

  if (mail == null && mail.trim().equals("")) {
   isOk = false;
   errorsmap.put("mail", "邮箱不能是空的");
  } else {
   if (!mail.matches("
\\w+@\\w+(\\.\\w+)+")) {
    isOk = false;
    errorsmap.put("mail", "邮箱格式不正确");
   }
  }
  // 昵称是中文的,常用汉字范围是"[\u4e00-\u9fa5]+"
  if (nickName == null && nickName.trim().equals("")) {
   isOk = false;
   errorsmap.put("nickName", "昵称不能是空的!");
  } else {
   if (!mail.matches("[\u4e00-\u9fa5]+")) {
    isOk = false;
    errorsmap.put("nickName", "昵称必须是汉字");
   }
  }
  // 日期的格式必须是1990-12-15形式,使用
  if (nickName == null && nickName.trim().equals("")) {
   try {
    DateLocaleConverter dlc = new DateLocaleConverter();
    dlc.convert(this.birthday, "yyyy-MM-dd");
   } catch (Exception e) {
    isOk = false;
    errorsmap.put("birthday", "生日格式输入错误,1990-12-15形式");
   }
  }
  return isOk;
 }

 public String getUserName() {
  return userName;
 }

 public void setUserName(String userName) {
  this.userName = userName;
 }

 public String getNickName() {
  return nickName;
 }

 public void setNickName(String nickName) {
  this.nickName = nickName;
 }

 public String getMail() {
  return mail;
 }

 public void setMail(String mail) {
  this.mail = mail;
 }

 public String getBirthday() {
  return birthday;
 }

 public void setBirthday(String birthday) {
  this.birthday = birthday;
 }

 public String getPassword() {
  return password;
 }

 public void setPassword(String password) {
  this.password = password;
 }

 public String getPassword2() {
  return password2;
 }

 public void setPassword2(String password2) {
  this.password2 = password2;
 }

}

分享到:
评论

相关推荐

    SpringMVC中使用bean来接收form表单提交的参数时的注意点

    本篇文章主要介绍了SpringMVC中使用bean来接收form表单提交的参数时的注意点,具有很好的参考价值。下面跟着小编一起来看下吧

    利用java反射校验struts中的form(含正则表达式)

    在struts框架中,如果每次都去校验form中的每个字段,显然费时费力,本例通过java反射得到form中的字段和值,并较验,用于在与数据库交互之前的校验,从而防止数据库恶意注入. 随包附带一个通用的易扩展的正则表达式校验类...

    java 经典面试题 于网络分享

    A FormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action B 在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证 C 用户每次提交表单,都会...

    动态验证formbean

    介绍如何使用动态formbean的例子

    json java读取 formbean操作

    NULL 博文链接:https://haixiami200411.iteye.com/blog/736554

    struts1&struts2

    2.Struts2和Struts1.x的... Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。 Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。

    Struts1.2动态FormBean加验证功能的一个例子

    Struts1.2动态FormBean 加 验证功能 的一个例子

    谈谈你对Struts的理解。

    ActionServlet把请求交给action去处理之前,会将请求参数封装成一个formbean对象(就是一个java类,这个类中的每个属性对应一个请求参数),封装成一个什么样的formbean对象呢?看配置文件。  3.要说明的是, ...

    JAVA期末大作业课程设计基于SSH框架的管理系统.zip

    structs的总控制器ActionServlet在用户提交请求时将数据放到对应的form对象中的成员变量中。 第四步:派发请求;控制器根据配置信息,对象ActionConfig将请求派发到具体的Action,对应的formBean一并传给这个

    Struts中FormBean的日期类型字段赋值自动转化

    NULL 博文链接:https://zywang.iteye.com/blog/413003

    Management-System-of-company:项目使用Servlet + mybatis构建的Web项目,目的是为了进一步熟悉mybatis的进一步配置,根据spring的内核编写了FormBean进行使用

    为了进一步熟悉SSM框架,我单独摘出了mybatis部署在普通的java Web项目上,从spring上插入了依赖注入,自己根据反射编写了一个映射工具类,可以根据前端返回的信息来封装bean FormBean如下 public class FormBean { ...

    Struts原理、开发及项目实施

    流程:在Struts中,用户的请求一般以*.do作为请求服务名,所有的*.do请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传...

    Struts使用技巧和注意事项

    > 配置资源文件:配置ApplicationResources.prop内容,把验证的的内容写道其中; > 配置FormBean: 配置FormBean中的validate()方法,处理相关验证; > 配置Jsp:配置JSP中相关信息接受后台验证信息的处理结果;

    Spring面试题

    类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、 4. 说下Hibernate的缓存...

    java Hibernate 一对多自身关联问题

    formBean在提交表单的时候,域中数据库在下一次中仍然保留引起的,struts formBean 默认的scope为session,手动设置为request,就好了

    struts1和struts2的区别

    Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。Struts 2无须继承任何类型或实现任何接口,表单数据包含在Action中,通过Getter和Setter获取。 虽然,在理论上Struts2的...

    struts2 (对象.属性)注入

    在struts1中每次提交表单的时候,表单中的属性值都先赋予formbean,然后操作formbean。但是现在struts2中用对象.属性名来给对象赋值,然后操作这个对象。而这些对象都是vo的实现,如果使用hibernate,可以直接把...

    非常好的struts2教程

    MVC模式的回顾 回顾Struts的请求处理时序...封装Formbean数据时的问题 防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与digester

    struts高级实战进阶

    传智播客的struts高级实战进阶 ...封装Formbean数据时的问题 防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与digester

    北大青鸟Y2(Struts)ppt

    北大青鸟S2阶段的项目PPT,内容包含怎么用Action,Form,FormBean,DispatcherAction。

Global site tag (gtag.js) - Google Analytics