1.自定义action继承ActionSupport

2.复写validate方法,因为ActionSupport实现了Validate这个借口,而这个借口中定义了validate方法

3.当请求时,先执行validate这个方法,然后再执行自己请求的方法

添加:<%@ taglib uri="/struts-tags" prefix="s" %>     引入struts2标签库

请求url

   		 <s:form action="validate/validateAction_testValidate.action" method="post">
<s:textfield name="username" label="用户名"></s:textfield>
<s:password name="password" label="密码"></s:password>
<s:submit></s:submit>
</s:form>

struts.xml中配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="validate" namespace="/validate" extends="struts-default">
<action name="validateAction_*" class="com.struts2.validate.ValidateAction" method="{1}">
<result>success.jsp</result>
<result name="input">login.jsp</result>
</action>
</package>
</struts>

  

Action中的配置

package com.struts2.validate;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

//印证
public class ValidateAction extends ActionSupport {
public String testValidate(){
System.out.println("success");
return SUCCESS;
} //这个方法是执行印证的,如果验证有错误,则和配置文件result的name的值为input,这个是固定的
//addFiledError中的第一个参数与页面上的name的值保持一致
//struts2标签会把验证信息输出
public void validate(){
String username = ServletActionContext.getRequest().getParameter("username");
String password = ServletActionContext.getRequest().getParameter("password"); System.out.println(username+"---"+password); if("".equals(username))
this.addFieldError("username", "用户名不能为空");//与输入的name值一样
if("".equals(password)){
this.addFieldError("password", "密码不能为空");//与输入的name值一样
}
}
}

  

Struts2 Validate的更多相关文章

  1. struts2 validate手动验证

    我们前面学习struts2知道,struts2通过拦截器实现了一些验证操作. 比如,如果是不能转换的类型在action中接受的话会跳转到错误页面,错误信息中会包含对应的错误信息,例如: 首先我们了解一 ...

  2. struts2 validate验证

    转自:https://blog.csdn.net/houpengfei111/article/details/9038233 自定义拦截器 要自定义拦截器需要实现com.opensymphony.xw ...

  3. Java Hour 34 Weather ( 7 ) struts2 – validate

    有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. Hour 34 Form Validation 一般Form 提交都有验证的, ...

  4. Struts2 validate校验

    一般的,用户注册的时候,我们需要校验一些用户提交过来的参数. 一般有两道屏障,一是在前台页面上使用js进行验证,直接杜绝了不正常信息的提交.二是将提交过来的信息进行验证,不通过则返回注册页面并显示错误 ...

  5. java struts2入门学习实例--使用struts进行验证

    一.为什么要进行验证? 验证几乎是注册登录的必须前提,验证的主要作用有两点: 1.安全性 2.对用户提供差异化服务. 二.如何验证? ActionSupport类中有一个validate()方法,这是 ...

  6. JavaWeb -- Struts2 验证框架

    1. 验证框架 示例 表单提交Jsp, reg.jsp <%@ page language="java" contentType="text/html; chars ...

  7. Struts2.0笔记二

    Mvc与servlet 1.1   Servlet的优点 1.  是mvc的基础,其他的框架比如struts1,struts2,webwork都是从servlet基础上发展过来的.所以掌握servle ...

  8. struts2:数据校验,通过Action中的validate()方法实现校验,图解

    根据输入校验的处理场所的不同,可以将输入校验分为客户端校验和服务器端校验两种.服务器端验证目前有两种方式: 第一种 Struts2中提供了一个com.opensymphony.xwork2.Valid ...

  9. struts2:数据校验,通过Action中的validate()方法实现校验(续:多业务方法时的不同验证处理)

    前文:struts2:数据校验,通过Action中的validate()方法实现校验,图解 如果定义的Action中存在多个逻辑处理方法,且不同的处理逻辑可能需要不同的校验规则,在这种情况下,就需要通 ...

随机推荐

  1. opengl教程推荐

    非常不错的教程! OpenGL教程

  2. delphi 10.1 berlin datasnap提交clientdataset.delta报:invalid variant type conversion(类型转换错误)问题的解决

    delphi 10.1 berlin datasnap提交clientdataset.delta报:invalid variant type conversion(类型转换错误)问题的解决,需要打这个 ...

  3. C#基础入门 七

    C#基础入门 七 接口 由于C#语言不支持多重继承,所以可以使用接口模拟结构的继承,通过使用interface关键字,定义一个接口. interface USB { void Read(string[ ...

  4. task4: 结对编程-词频统计[修改版]

    问题描述: 读取一个文件,统计其中单词出现次数,并按从高到低的顺序显示,相同顺序的字典序排列. 思路: 基于上次的程序用正则提取出文本里的单词,然后利用字典计数(先get,为null则置1,不为nul ...

  5. EF按时间范围条件查询

    查询今日数据 db.Table.Where(d => System.Data.Entity.DbFunctions.DiffDays(d.Time, DateTime.Now) == )

  6. django drf 改变retrive的pk查询字段

    lookup_filed可以改变retrive查询时默认以pk查询的逻辑 from django.shortcuts import render from rest_framework import ...

  7. Volo.Abp.EntityFrameworkCore.MySQL 使用

    创建新项目 打开 https://cn.abp.io/Templates ,任意选择一个项目类型,然后创建项目,我这里创建了一个Web Api 解压项目,还原Nuget,项目目录如下: 首先我们来查看 ...

  8. c语言------第一次作业,分支,顺序结构

    1.1思维导图 1.2本章学习体会及代码量学习体 1.2.1学习体会 初次接触C语言,由于比较懒惰,感觉学习脚步跟不上身边的同学,也比较困扰.但伴随着pta上多次显示的##编译错误##,坚持不懈地问舍 ...

  9. SoundPool跑套图片

  10. Mybatis 的输入参数学习

    mybatis 的输入参数: 指得就是parameterType的参数 这个参数就代表的sql语句中的输入参数 sql语句中的参数使用  有两种方式 : 使用#{} 获取:  8个基本数据类型 + S ...