表单校验---struts2
一 写validate方伐
1 让你的Action继承ActionSupport类,
重写validate方法,(或validateXxxx)
判断,写入错误信息
jsp中用标签显示,struts。xml中配置转向的页面
package he.action;import java.util.Map;import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport;public class Login extends ActionSupport{String name;String pwd;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}@Overridepublic void validate() {// TODO Auto-generated method stubsuper.validate();if("".equals(name)||name==null){this.addFieldError("name", "name can not be null");}if("".equals(pwd)||pwd==null){this.addFieldError("pwd", "pwd can not be null");}}public String execute(){System.out.print(name+" \n"+pwd);if("scott".equals(name)&&"1234".equals(pwd)){Map<String, Object> session = ActionContext.getContext().getSession();session.put("user", name);return "success";}this.addActionError("name do not match pwd");return "fail";}}
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN""http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts><package name="struts2-demo1" extends="struts-default"><action name="login" class="he.action.Login"><result name='success' type='dispatcher'>/ok.jsp</result><result name='fail' type='dispatcher'>/index.jsp</result><result name="input">/index.jsp</result></action></package> </struts>
Struts.xml
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <%@taglib uri="/struts-tags" prefix="s" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><base href="<%=basePath%>"><title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--></head><body><s:actionerror/><s:form action="login" ><s:textfield name="name" label="name" labelposition="left"></s:textfield><s:fielderror fieldName="name"></s:fielderror><br><s:textfield name="pwd" label="pwd" labelposition="left"></s:textfield><s:fielderror fieldName="pwd"></s:fielderror><br><s:submit value="OK"></s:submit></s:form></body> </html>
index.jsp
转载于:https://www.cnblogs.com/hzzhero/p/5083658.html
表单校验---struts2相关推荐
- struts2学习之表单校验的两种方式
基于覆盖validate方法的表单校验 Action类一般都继承ActionSupport类. 通过覆盖ActionSupport类的validate方法即可在自己的Action类中校验输入项的值. ...
- 实战课【1】jQuery实现表单校验及布局
实战课[1]jQuery实现表单校验及布局 在学习完html,css,js,mysql,jdbc,Servlet,filter,ajax,maven等web基础知识后,开始进行项目实战.此文就会记录在 ...
- angular中的class写三元表达式 和 清空表单校验
这个写三元不像 vue 可以 :class = " -" angular写三元应该是这种 <td [ngClass]="data.properties.rechec ...
- 重置表单验证 清除表单校验信息
重置表单验证 清除表单校验信息 提交表单验证的时间经常遇见的一个问题 再次打开时表单验证依旧存在,这种就很烦,用户体验有点差, 在使用Vant或Element UI框架时经常会遇到,再次打开表单时,原 ...
- activeform表单中的旧数据怎么显示_三分钟为你细数 Vue el-form 表单校验的坑点
背景 Vue 的 el-form 提供了表单校验功能,通过 :rules 属性设置校验规则,并通过 el-form-item 的 prop 属性绑定校验规则.通过封装,让前端校验更方便.具体使用过程中 ...
- php 表单校验函数库(判断email格式是否正确、http地址是否合法有效、手机号码是否合法)...
/*** 表单校验函数库*//*** 判断email格式是否正确* @param $email*/ function is_email($email) {return strlen($email) & ...
- jQuery formValidator表单校验代码生成器ver1.0
发表感言 很感谢一直在支持我的网友们,感谢你们对插件改进的建议.虽然最近坐的脖子和屁股痛,但是我还是用休息时间完成了这个代码生成器的开发,再次感谢支持我的网友们. 谈一下写代码生成器的目的 ...
- EelemntUI中e-form表单校验的使用以及表单校验的规则
场景 Form 组件提供了表单验证的功能,只需要通过 rules 属性传入约定的验证规则,并将 Form-Item 的 prop 属性设置为需校验的字段名即可. 官方示例代码 <el-form ...
- easyui收派标准客户端表单校验
easyui收派标准客户端表单校验 js代码: //对收派标准的save按钮,添加点击事件 $("#save").click(function(){//判断form数据是否都通过校 ...
最新文章
- [JDK8] Stream
- OGG 跳过事务(转)
- JMeter场景设置叙述
- iphonex适配游戏_Cocos Creator 适配怎么做?
- fedora 使用 vnc 远程 fedora 28 主机
- C语言实现缓冲区溢出实例
- 你必须知道的Dockerfile
- Innodb ibdata数据文件误删,如何恢复
- PostgreSQL Oracle 兼容性之 - rownum
- linux物理内存地址与iomem,一种Linux系统物理内存镜像文件分析方法_4
- U-Net Pytorch实现
- 广西专业技术人员职称个人版_「职称评审」机械工程专业技术人员如何写职称论文?...
- Kubernetes的系统架构与设计理念
- svn 中 版本回退
- 安卓 App 库存系统开发 开发成本估计
- Linux的uevent事件机制
- Navicat连接Linux下MySQL
- ACM竞赛入门,从零开始
- 如何在ps添加箭头_PS里怎么画箭头?PS画箭头三种方法介绍
- 计网实验-1_Cisco Package Trace:Basic switch setup
热门文章
- LeetCode 第 27 场双周赛(1125/1966,前57.2%)
- 机器学习基础—Kaggle泰坦尼克预测(完整分析)
- ClickHouse表引擎
- python节日贺卡图片大全_新年贺卡图片_新年贺卡手工制作图片
- 99%算法工程师不知道的if/else优化技巧
- 史上最可爱的关系抽取指南?从一条规则到十个开源项目
- Spring Boot开发Web应用
- Spring Cloud实战小贴士:版本依赖关系
- 集群、分布式、微服务的概念及异同
- 论文浅尝 | XQA:一个跨语言开放域问答数据集