Struts2之验证框架二(通过action类名-validation.xml方式)

2024-08-20 15:38

本文主要是介绍Struts2之验证框架二(通过action类名-validation.xml方式),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 index.jsp

<%@ taglib uri="/struts-tags" prefix="s"%>

 <body>
   <s:form action="ValidateByXML"  >
    <s:textfield name="username" label="用户名:"></s:textfield><br>
    <s:textfield name="password" label="密码::"></s:textfield>
    <s:submit name="submit" label="提交" align="center" />
   </s:form>
  </body>

2action类

package org.action;

import com.opensymphony.xwork2.ActionSupport;

public class ValidationTestAction extends ActionSupport {
    /**
     *
     */
    private static final long serialVersionUID = 1L;
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

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

    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        System.out.print("输入验证通过");
        return SUCCESS;
    }

//    @Override
//    public void validate() {
//        // TODO Auto-generated method stub
//        if(username==null || username.trim().equals("")){
//            addFieldError("username","用户名是必需的!");
//        }
//        if(password==null || password.trim().equals("")){
//            addFieldError("password","密码是必需的!");
//        }
//    }

}

3action类对应的校验xml文件-ValidationTestAction-validation.xml命名规则:action类名-validation.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
<validators>
    <!-- 需要验证的字段的字段名 -->
    <field name="username">
        <!-- 验证字符串不能为空,即必填 -->
        <field-validator type="requiredstring">
            <!-- 去空格 -->
            <param name="trim">true</param>
            <!-- 错误提示信息 -->
            <message>用户名是必需的</message>
        </field-validator>
    </field>
    <field name="password">
        <!-- 验证字符串不能为空,即必填 -->
        <field-validator type="requiredstring">
            <!-- 去空格 -->
            <param name="trim">true</param>
            <!-- 错误提示信息 -->
            <message>密码是必需的</message>
        </field-validator>
    </field>
</validators>

4struts.xml(界面和action的纽带)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="default" extends="struts-default">
        <action name="ValidateByXML" class="org.action.ValidationTestAction">
            <result name="success" >/success.jsp</result>
            <result name="input">/index.jsp</result>
        </action>
    </package>
</struts>


5运行截图





这篇关于Struts2之验证框架二(通过action类名-validation.xml方式)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1090481

相关文章

MyBatis常用XML语法详解

《MyBatis常用XML语法详解》文章介绍了MyBatis常用XML语法,包括结果映射、查询语句、插入语句、更新语句、删除语句、动态SQL标签以及ehcache.xml文件的使用,感兴趣的朋友跟随小... 目录1、定义结果映射2、查询语句3、插入语句4、更新语句5、删除语句6、动态 SQL 标签7、ehc

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

Java JDK Validation 注解解析与使用方法验证

《JavaJDKValidation注解解析与使用方法验证》JakartaValidation提供了一种声明式、标准化的方式来验证Java对象,与框架无关,可以方便地集成到各种Java应用中,... 目录核心概念1. 主要注解基本约束注解其他常用注解2. 核心接口使用方法1. 基本使用添加依赖 (Maven

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2