表单校验---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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

城市大脑与智慧城市前沿趋势

近年来&#xff0c;智慧城市建设出现新的动向&#xff0c;包括城市大脑、城市云脑、城市超级大脑、城市超脑、城市神经网络等“泛城市大脑”概念也大量涌现。杭州、上海、北京、广州等城市各自提出和开展了不同城市大脑建设方案&#xff0c;其中上海市开展了以建设城市神经元系…

python画图去掉边框

axplt.subplot(2,3,1) ... ax.spines[top].set_visible(False) ax.spines[right].set_visible(False) ax.spines[bottom].set_visible(False) ax.spines[left].set_visible(False)

在iOS 8中使用UIAlertController

iOS 8的新特性之一就是让接口更有适应性、更灵活&#xff0c;因此许多视图控制器的实现方式发生了巨大的变化。全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备尺寸变化效果&#xff08;比如说旋转&#xff09;中发挥了重要的作用&#xff0c;它有…

MapReduce分析NCDC 年气象数据最低温度与最高温度

利用hadoop计算技术对采集的气象数据信息进行处理&#xff0c;主要分两个阶段&#xff1a;mapper阶段和reducer阶段&#xff0c;mapper阶段主要是对日志文件进行按行读取并进行字符串截取&#xff0c;reducer阶段对mapper阶段传过来的数据进行大小比较&#xff0c;最终获取每一…

非侵入脑机接口新突破!用意念控制光标,连续追踪效果提升5倍

来源&#xff1a;智东西看点&#xff1a;CMU研究人员在使用非侵入式脑机接口开发了第一个成功用意念控制的机械臂&#xff0c;展现了连续追踪和跟踪计算机光标的能力。智东西6月23日消息&#xff0c;卡内基梅隆大学与明尼苏达大学的研究人员在非侵入式机器人设备控制领域取得了…

python用Matplotlib画箭头

plt.annotate(text,xy(tx0,ty0),xytext(tx1,ty1),arrowpropsdict(arrowstyle"->",connectionstyle"arc3")) 其中&#xff0c;text是在箭头末尾显示的文字&#xff0c;xy是箭头终点坐标&#xff0c;xytext是起点坐标&#xff0c;arrowtypes指定箭头的样…

python中序列(列表list和元组tuple)的用法

数据结构是以某种方式&#xff08;如通过编号&#xff09;组合起来的数据元素的集合。再python中最基本的数据结构为序列&#xff08;sequence&#xff09;。序列中的元素是有序的&#xff0c;索引从0开始&#xff0c;用负索引表示序列末尾元素的位置。 python中常见的序列有两…

Beta版本测试报告

请根据团队项目中软件的需求文档、功能规格说明书和技术规格说明书&#xff0c;写出软件的测试计划、测试过程和测试结果&#xff0c;并回答下述问题。 1. 写出团队项目软件的总体测试计划&#xff0c;记录测试过程&#xff0c;给出测试结果&#xff0c;并说明这些测试怎样对软…

python给多个子图加总标题

在画完所有的子图后&#xff0c;加一句 plt.suptitle(Title)

AI芯片的长征之路:挑战与机遇

来源&#xff1a; 半导体行业观察前言&#xff1a;笔者有幸受邀在六月初北京举行的首届亚洲AI硬件峰会&#xff08;AI Hardware Summit Asia&#xff09;上发表了开幕主题演讲&#xff0c;与全世界的AI硬件专家分享了我对行业的一些看法和想法。演讲以英文形式进行&#xff0c;…

排名(水题)

排名 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 19177 Accepted Submission(s): 7033 Problem Description今天的上机考试虽然有实时的Ranklist&#xff0c;但上面的排名只是根据完成的题数排序&#xf…

make_moons函数

生成半环形数据 sklearn.datasets.make_moons(n_samples100, shuffleTrue, noiseNone, random_stateNone) 参数&#xff1a; n_samples : 整数型, 可选&#xff0c;默认为100&#xff0c;产生的样本点的数量shuffle : 布尔型&#xff0c;可选填 (默认为True)&#xff0c;是否…

阿里巴巴罗汉堂发布最关乎人类未来的十大问题

来源&#xff1a;中国新闻网中新网杭州6月25日电 (记者 魏晞)25日&#xff0c;阿里巴巴倡议成立的罗汉堂发布最关乎人类未来的十大问题。200多位来自全球的顶尖学者、政界、企业界负责人应邀在杭州“西湖论剑”&#xff0c;闭门研讨十大问题&#xff0c;其中包括6位诺贝尔经济学…

python画图删除上边框和右边框

import seaborn as sns ... sns.despine();#在画完图之后插入这一句

iOS - Masonry自动布局

简介&#xff1a; 相对于官方的NSLayoutConstraints的的过于繁琐和麻烦&#xff0c;Masonry是一个轻量级的布局框架 拥有自己的描述语法 采用更优雅的链式语法封装自动布局 简洁明了 并具有高可读性 而且同时支持 iOS 和 Max OS X。 可以到Masonry-Github下载官方源码Demo安装&…

Python中的字典dict

字典是python中唯一的内置映射类型&#xff0c;其中的值不按顺序排列&#xff0c;而是存储在键下。键不可修改且不能重复的&#xff0c;所以其可能是数字、字符串或元组&#xff0c;而不可能是list。字典中键-值对被称为项&#xff08;item&#xff09;&#xff0c;其语法如下&…

Drive.ai轰然倒下:曾估值两亿,吴恩达夫妇站台,苹果将接盘部分可用技术人才...

来源&#xff1a;大数据文摘曾经估值两个亿美元&#xff0c;吴恩达夫妇亲自站台&#xff0c;风极一时的无人车创业公司Drive.ai轰然倒塌。本月20日&#xff0c;总部位于加州山景城的 Drive.ai 公司被证实已经向一家州政府机构递交了通知&#xff0c;表明即将关闭&#xff0c;并…

PyMC3实现贝叶斯神经网络

转自https://blog.csdn.net/jackxu8/article/details/71308390#commentBox 源地址https://docs.pymc.io/notebooks/bayesian_neural_network_advi.html PyMC3中的贝叶斯深网络 生成数据 产生一个简单的线性不可分的二分类问题的模拟数据。 %matplotlib inline import pymc…

Dynamics CRM 开启图表的3D效果展示

CRM中的图表在我们的业务场景中用的很多&#xff0c;用户可以根据自己的实际需求来构建图表查看数据。我们平时看到的图表都是平面的&#xff0c;像下图中的这种&#xff0c;那有没有一种方式可以让展示3D效果看起来更立体呢&#xff0c;答案是可以的。 这里就以上面的图表为例…

OpenCV初体验

OpenCV提供了一些实用工具来读取从视频流到摄像机画面的各种各样的图像格式&#xff0c;这些工具都是HighGUI的一部分。下面几个小例子可以让初学者提前体验一下OpenCV的功能。 1. 打开一张图像并且将其显示在屏幕上 #include "stdafx.h" #include <opencv2/ope…