struts表单验证简单实现

原创 2016年08月29日 01:02:56

struts表单验证简单实现

ActionForm

ActionForm这一个类中,有一个validate方法,用于提交表单后,自动封装Form后对于信息的验证。该方法返回类型是ActionErrors, ActionErrors有一方法put("name", new ActionMessage("errors.name.required"));用来保存错误信息,对于ActionMessage("errors.name.required"), 会从struts-config.xml中message-resources寻找对应的值,也可以使用ActionMessage("姓名不能为空",false),就不会从资源文件中查找

public class EmployeeForm extends ActionForm {

	/**
	 * 
	 */
	private static final long serialVersionUID = -1639028024718143236L;
	
	private String id;
	private String name;
	private String birthday;
	private String sex;
	private String address;
	private String[] love;
	private String education;
	
	@Override
	public void reset(ActionMapping mapping, HttpServletRequest request) {
		// TODO Auto-generated method stub
		this.id = null;
		this.name = null;
		this.birthday = null;
		this.sex = null;
		this.address = null;
		this.love = null;
		this.education = null;
	}
	//setr和get方法...
	
	@Override
	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
		// TODO Auto-generated method stub
		System.out.println("验证方法validate()走起....");
		ActionErrors errors = new ActionErrors();
		if(name == null || "".equals(name.trim())) {
			System.out.println("用户名为空");
			errors.add("name", new ActionMessage("errors.name.required"));
		}
		if(sex == null) errors.add("sex", new ActionMessage("errors.sex.required"));
		if(birthday == null || !birthday.matches("^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$")) errors.add("birthday", new ActionMessage("errors.birthday.date"));
		return errors;
	}

}

资源文件

MessageResources_en_US.properties中存放错误信息
errors.header=<ul>
errors.prefix=<li class="error">
errors.suffix=</li>
errors.footer=</ul>

errors.sex.required=sex is required.
errors.name.required=name is required.
errors.birthday.date=birthday is not a date.

struts配置文件

在struts-config.xml文件中,默认validate="true",设置validate=“false”,不会进行validate方法验证,  并且当发现错误时,会跳转到input指定的页面,所以一定要设置input这一属性
        <action path="/EmployeeAction_Save" name="EmployeeForm" scope="request" type="com.struts.web.EmployeeAction" parameter="method" input="/Employee.jsp" validate="true">
          <forward name="success" path="/PAGE/success_s.jsp"></forward>
        </action>

jsp页面

在jsp中只需使用这一个标签,即可将所有错误显示出来    <html:errors/>
也可以使用 <html:errors property="key">将某一特定的错误输出,其中key代表就是errors.add("key",MessageActoin);中的第一个参数


最后展示一下当姓名性别生日都为空时的结果



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

用struts2 完成一个简单的通讯录,实现增删改查,分页,文件上传(头像),表单验证(两种方法)

1.登录 1.1登录页面 2.2写action return "success"; 2.2  表单验证 例如: 注意:使用表单验证有一个前提,该action必须...

Struts2 In Action读书笔记一------------简单的表单验证和属性注入

在表单提交的时候,经常需要对用户名或者密码为空的情况进行验证,有时候可能时候JavaScript,当然也不排除 使用Struts2。其实,Struts2提供了非常强大的表单验证功能,下面我们来演示一...

Struts2 Jquery Json 实现AJax表单验证

弄了一整天了,刚开始学习Jquery,很多东西还不熟,看看视频,查查资料,终于成功的集成Struts2+Jquery+Json 直接上图:用户名输入xxx,焦点丢失,提示”用户已存在“,否则提示“可...

如何实现完美的表单验证?js? jquery? struts? ajax?

首先,如果用js,必定要有事件,如果用onblur(),暂且不说默认没有光标这回事,我们设想已经把光标定位到“用户名”这里,但是如果登陆页面上有“注册”这一功能,你直接去点击“注册”,会出现什么样的情...

用jquery实现简单的表单验证效果

看了《锋利的jquery》一书,练习了下期中的一个用jquery写表单验证的例子。       效果如图:       总结:        这是个比较简单的表单验证,主要验证了表单中的用户名和邮...

简单的登陆注册的实现+验证码和表单验证

昨天跟着做了一个登录注册的小实例今天会议一遍并且通过博客的方式写下来

Struts2表单验证

  • 2014-01-03 11:19
  • 26KB
  • 下载

Struts2-表单验证的两种方式

1. Struts2中的输入校验 2. 编码方式校验   1) Action一定要继承自ActionSupport   2) 针对某个要进行校验的请求处理方法编写一个 public void...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)