Struts2 几种校验

2023-11-08

1.Struts2手动校验

1.重写actionsupport类的validate方法,action需要继承ActionSupport类

public class StrutshAction extends ActionSupport{
   

在validate()、validateXxx()方法中使用addFieldError()方法保存校验错误信息

//  @Override
//  public void validate() {//手动后台校验
//      System.out.println("后台手动校验");
//      if(user.getUsername()==null||user.getUsername().trim().equals("")){
//          this.addFieldError("username", "用户名不能为空");
//      }
//      if(user.getPassword()==null||user.getPassword().trim().equals("")){
//          this.addFieldError("password", "密码不能为空");
//      }
//      
//  }
//  public void validateLogin() {//手动后台校验  只校验login方法
//      System.out.println("后台手动校验");
//      if(user.getUsername()==null||user.getUsername().trim().equals("")){
//          this.addFieldError("username", "用户名不能为空");
//      }
//      if(user.getPassword()==null||user.getPassword().trim().equals("")){
//          this.addFieldError("password", "密码不能为空");
//      }
//      
//  }

上面的这种方式会对LoginAction里面所有的action方法进行拦截校验,如果只想对login方法进行校验,需要修改validate方法名为validateLogin。

Action的配置信息中要加入name=“input”的视图,确定错误显示页面

<result name=“input”>/xxx.jsp</result> 

前台页面如果要看到错误信息:
1. 页面引入Struts标签
2. 用

<form action="user_execute">
用户名:<input type="text" id="username" name="user.username"/><
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts2 几种校验 的相关文章

  • 机器学习之CART树

    CART树 1 Cart树介绍 2 Cart树生成 3 回归树 4 分类树 4 1 分类树原理 4 2 分类树算法步骤 4 3 案例 5 Cart树总结 1 Cart树介绍 分类回归树 CART Classification And Reg
  • 吃饭睡觉打豆豆

    哈哈哈
  • Python: for 循环

    一 For 语法结构和基于数字 range 的循环 for x in range 5 print hello 二 基于列表list 元组tuple的循环 numbers1 1 2 3 4 5 numbers2 6 7 2 5 name zh
  • c++ 数据结构——树

    1 树概念 暂略 2 树的相关题目 2 1 leetcode 104 Maximum Depth of Binary Tree Definition for a binary tree node struct TreeNode int va
  • 谈谈软件行业面试

    原贴地址 http blog csdn net demowolf article details 5598966 我今天第一天正儿八经写博客 文思如泉涌 得多说几句废话 工作这么多年 面试无数次 从刚开始的技术雏儿 到现在的自我感觉良好 面
  • Java中间件(1)--分布式系统&中间件从入门到精通(五)

    上篇文章说了 当业务数据量大的时候 可以考虑业务和数据分离 当还解决不了的时候 可以考虑把数据库读写分离 缓存 还可以考虑把表垂直拆分 水平拆分 大型网站架构 2 分布式系统 中间件从入门到精通 四 中间件为软件应用提供了操作系统所提供的服
  • OpenStack2

    OpenStack2 1 DashBoard 2 私有网络 构建完整云主机 3 块存储服务 1 DashBoard 安装软件包 编辑配置文件 重启服务 网页成功访问使用网页 创建网络 换到 admin用户 切换到demo用户 创建云主机 创
  • Visual Studio 2010 部署QT4.8.4

    做GUI界面的设计时 目前已不再拘泥于VS的MFC框架 有很多开源的工具 本例以QT与VS2010的整合为例 演示环境搭建 后续将会用QT做VT的开发工作 第一步 下载QT和QT与VS的插件 在VS2010下以及结合VTK的情况 网络上经网
  • 让 Home 页面离开的时候保持原来的状态

    思路 1 用 keep alive 让页面不要销毁
  • 对有验证码的后台网页进行爆破-captcha-killer-modified

    对有验证码的后台网页进行爆破 captcha killer modified 实例 以pikachu靶场为目标 攻击目标url http xxxx pikachu master vul burteforce bf server php xx

随机推荐

  • PAT B1072 开学寄语

    算法思想 用数组标记应要查缴的物品mark 物品编号 1 在输入学生信息的同时判断该物品是否要查缴 因格式问题用了另一个数组保存该学生要查缴的物品编码 最后再输出该学生的名字和查缴物品编号 后来看了柳神的代码 不用这么麻烦 直接在输出前加括
  • HDU2085核反应堆

    Time Limit 1000 1000 MS Java Others Memory Limit 32768 32768 K Java Others Total Submission s 22891 Accepted Submission
  • PID控制原理说明与图解

    PID是比例 积分 微分的简称 一般常用于温度 速度等标量的控制 应用PID控制的系统存在对这些数值进行感测的传感器 又存在一个设定的目标值 这一种系统称为闭环控制系统 closed loop control system 系统中三个数值的
  • 工作能力构架框架图——我对工作的理解

    工作架构图 最近对工作内容进行了一次review 归纳如下 做简单地分享 job层 job层是我们最容易理解的一层 即我们平时的工作title 可能是销售 售前 产品等等 那么做产品的人能不能做售前呢 我想 肯定可以 因为在人力资源市场上
  • 解决eclipse出现launch failed,binary not found 的问题

    解决eclipse出现launch failed binary not found 的问题 仅作为解决问题的记录 问题描述 1 之前一直用eclipse写C 文件 后面学了java就用eclipse写了一些 java文件 但是偶然一次想要再
  • ValueError: column index (256) not an int in range(256)

    pandas 保存为xls时最大列为256 改为保存csv格式可避免该限制 解决方法 pd DataFrame in shp pre to csv 各区站点 file 14 17 csv
  • 软件开发管理参考网站

    BDD http en wikipedia org wiki Behavior Driven Development Scrum http zh wikipedia org zh Scrum UserCase http www hudong
  • Kubernetes 资源管理:最大化集群性能

    今天是 DevOps云学堂 与你共同进步的第 54天 Kubernetes 资源管理是部署和管理容器化应用程序的一个关键方面 它允许管理员控制系统不同部分之间计算资源的分配 例如CPU 内存和存储 有效的资源管理可确保应用程序获得正确运行所
  • Latex 字体的设置

    一 字体族的设置 1 说明 1 字体命令 textrm Roman Family 在花括号内的字体都是Roman Family 字体 2 字体声明 rmfamily Roman Family 该命令下面的字体都是是Roman Family字
  • Vim几种跳转方式

    Vim几种跳转方式 ps 以下时我常用的一些跳转指令 用于参考和复习记忆 还有一些后续会更新 文件内跳转 移动光标 普通模式下左h 右l 上k 下j 可以使用数字 hlkj 实现跳跃式移动 字符间跳转 跳转到当前字符的前面 普通模式下i 跳
  • CesiumJS三维案例

    WebGL近几年越来越被人们所关注 但是二三维开发难度也比普通web要高出许多 不管我们是在在开发或者是学习过程中 往往需要耗费大量的时间去查阅资料和研究官方案例 让本来就非常紧张的而宝贵的精力卷到了不关紧要的地方 而大多二三维的包 ope
  • apk文件结构解析一

    Apk文件用WINRAR压缩软件解压缩后 如下图所示 主要是三个文件 lib META INF res 和三个文件夹 AndroidManifest xml classes dex resources arsc 用工具展开可以看到如下所示的
  • Protobuf在java中的简单使用实例

    TTprotobuf是一种跨语言的数据转换协议 由google开源的 已支持大部份语言 在一般的数据交互过程中都是使用json xml等来做数据的转换 这其中涉及复杂的解析与序列化反序列化问题 如果在大量数据并发请求时 也会导致性能问题 p
  • Vue-过滤器

    Vue 过滤器 过滤器 过滤器 Filters 是vue 为开发者提供的功能 常用于文本的格式化 过滤器可以用在两个地方 插值表达式 和 v bind 属性绑定 过滤器应该被添加在JavaScript 表达式的尾部 由 管道符 进行调用 p
  • 图像增强之同态滤波python实现——20221204工作总结

    目录 参考 同态滤波python实现 代码 效果 参考 1 https wenku baidu com view 4eb598180a12a21614791711cc7931b765ce7ba9 html wkts 167005422236
  • IDEA 调试前端代码JS 及安装JetBrains IDE Support

    收藏从未间断 学习从未开始 不需要F12窗口 不需要JS代码写debugger断点 不需要写console log 输出 一 JetBrains IDE Support 1 必须使用谷歌浏览器 安装JetBrains IDE Support
  • go 进阶 sync相关: 一. sync.atomic​ 原子操作

    sync atomic 原子操作 一 sync atomic 基础 sync atomic Value 二 sync atomic 源码分析 1 ifaceWords 2 Store 添加 3 Load 获取 一 sync atomic 基
  • c#Replace用法

    string txt 333 333 txt Replace Console WriteLine 赋值前 txt txt txt Replace Console WriteLine 赋值后 txt
  • Grape 依赖管理器

    本文参考自Groovy文档 The Grape dependency manager 本文代码大部分来自Groovy官方文档 Groovy自带了一个嵌入式的jar依赖管理器 这个管理器的主要作用应该是配合Groovy脚本使用 让我们不需要任
  • Struts2 几种校验

    1 Struts2手动校验 1 重写actionsupport类的validate方法 action需要继承ActionSupport类 public class StrutshAction extends ActionSupport 在v