1. 数据校验流程
    1. 校验数据的方式

      1. 重写execute方法在内部写校验代码
      2.  public class LoginAdminAction extends ActionSupport
        {
        private User user;
        @Override
        public String execute() throws Exception
        {
        //测试校验代码
        if("".equals(user.getUsername()))
        {
        addFieldError("msg", "用户名不能为空."); }
        if("".equals(user.getPassword()))
        {
        addFieldError("msg","密码不能为空."); }
        return "login";
        } }
      3. 重写validate()方法--这个action通用.
      4.  @Override
        public void validate()
        {
        //测试校验代码
        if("".equals(user.getUsername()))
        {
        addFieldError("msg", "用户名不能为空.");
        }
        if("".equals(user.getPassword()))
        {
        addFieldError("msg","密码不能为空.");
        }
        super.validate();
        }
      5. 编写validateXXX()方法-针对某个方法

      6.  public String login() throws Exception
        {
        Log4JFactory.getInstanceLogger(this).info("調用啦");
        return "success";
        } public void validateLogin()
        {
        //测试校验代码
        Log4JFactory.getInstanceLogger(this).info("validateLogin調用啦");
        if("".equals(user.getUsername()))
        {
        addFieldError("msg", "用户名不能为空.");
        }
        if("".equals(user.getPassword()))
        {
        addFieldError("msg","密码不能为空.");
        } }
      7. 使用struts2验证框架xml
        1. 验证与逻辑分离
        2. 提供代码可读性
        3. 命名规则
          1. actionName-validation.xml //action名称-validation.xml针对整个action
          2. actionName-person_update-validation.xml //action名称-方法名-validation.xml针对某个方法
        4. 文件存放路径
          1. 和action在同一个包下
        5. 文件格式
          1.  <!DOCTYPE validators PUBLIC
            "-//Apache Struts//XWork Validator 1.0.3//EN"
            "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd"> <validators>
            <field name="">
            //name 字段名称
            <field-validator type="">
            //指定校验规则
            <message>messge</message>
            </field-validator>
            </field>
            </validators>

struts2简单入门-数据校验的更多相关文章

  1. Struts2学习---简单的数据校验、访问Web元素

    1.简单的数据校验 在action里面我们已经给出了一个数据校验: public String execute() { if(user.getUsername().equals("usern ...

  2. Struts2中validate数据校验的两种常用方法

    本文主要介绍Struts2中validate数据校验的两种方法及Struts2常用校验器.  1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接 ...

  3. 6.Struts2简单类型数据的接受

    简单类型数据的接收 在Action类中定义与请求参数同名的属性, 即,要定义该属性的set方法,便能够使struts2自动接收请求参数并赋予同名属性. 简单类型数据的接受举例: 新建工程项目,名称为: ...

  4. 【java开发系列】—— struts2简单入门示例

    前言 最近正好有时间总结一下,过去的知识历程,虽说东西都是入门级的,高手肯定是不屑一顾了,但是对于初次涉猎的小白们,还是可以提供点参考的. struts2其实就是为我们封装了servlet,简化了js ...

  5. struts2简单入门

    框架是什么,框架有什么作用 框架 实现部分功能的代码. 作用 控制请求和响应. 相对于WEB项目的执行流程 struts2项目搭建流程 配置web.xml 配置前端控制器[核心控制器] ---一个fi ...

  6. struts2简单入门-配置文件-struts.xml

    struts.xml 作用:配置struts中的action,result,package,全局action,result,等等. 基本文件格式: <?xml version="1.0 ...

  7. struts2简单入门-执行流程

    简单的执行流程图

  8. struts2简单入门-OGNL表达式

    什么是OGNL表达式 Object-Graph Navigation Language的缩写. 可以遍历整个对象结构图,实现对象类型转换等功能的表达式. OGNL实际上是个Map集合,有一个上下文根对 ...

  9. struts2简单入门-关于Result标签Type属性的说明

    Result标签 作用 当action执行完毕,后要返回什么样的视图. Type属性 决定返回的是什么视图. struts-default.xml的Type属性的定义 <result-types ...

随机推荐

  1. [LeetCode] 16. 最接近的三数之和

    题目链接:https://leetcode-cn.com/problems/3sum-closest/ 题目描述: 给定一个包括 n 个整数的数组 nums 和 一个目标值 target.找出 num ...

  2. [LeetCode] 12,13 整数和罗马数互转

    12. 整数转罗马数字 题目链接:https://leetcode-cn.com/problems/integer-to-roman/ 题目描述: 罗马数字包含以下七种字符: I, V, X, L,C ...

  3. 苹果手机连接Wifi认证机制

    Wifi状态保持方法和nas设备 https://patents.google.com/patent/CN106793171A/zh 基于ios终端的离线wifi热点认证方法和认证系统 https:/ ...

  4. SQL学习 DECODE

    from 百度百科: DECODE有什么用途呢? 先构造一个例子,假设我们想给这些职员加工资,其标准是:工资在8000元以下的加20%:工资在8000元或以上的加15%,通常的做法是,先选出记录中的工 ...

  5. springboot2+freemarker简单使用

    一.src/main/resources/templates下新建welcome.ftl <!DOCTYPE html> <html lang="en"> ...

  6. Strem_01

    import 'package:flutter/material.dart';import 'dart:async';import 'dart:ui'; void main()=>runApp( ...

  7. Oracle Data Provider for .Net classes文档

    官方文档详见:https://docs.oracle.com/en/database/oracle/oracle-data-access-components/18.3/odpnt/odp-dot-n ...

  8. Windows 虚拟机 忘记密码的处理

    说明 经过验证 没法用这种方式处理 之前的系统够可以 2016的方法 稍后在写一个. 1. 修改虚拟机的配置界面: 2. 增加windows的安装盘 作为启动盘 3 bios 里面设置CD启动 比较简 ...

  9. LODOP不同打印机出现偏移问题

    方法简单描述:1.精确套打,设置以纸张边缘为基点,可避免不同可打区域不同带了的影响.2.不同客户端打印机位置差异,可通过打印维护调整,结果在客户端本地.或调整打印机初始位置(本人使用的金税盘的开票软件 ...

  10. DRF初识与序列化

    一.Django的序列化方法 1.为什么要用序列化组件 做前后端分离的项目,我们前后端数据交互一般都选择JSON,JSON是一个轻量级的数据交互格式.那么我们给前端数据的时候都要转成json格式,那就 ...