时间:2015-05-15 来源:

Struts2重写validateXXX方法校验多个处理逻辑 【编程语言】

       在struts2表单校验中psd切图html,我们习惯些一个Action对应一个表单,psd切图html这样可以减少类的数量,div切图排版具体实现的思想是在一个Action中有多个方法div页面,这两个表单的验证逻辑是由OneAction的reg和login方法完成的.

package action;


import com.opensymphony.xwork2.ActionSupport;
public class OneAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String user;
private String pass;
private String name;
private int age;
private String pass1;
private String pass2;
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPass() {
return pass;
}
public void setPass(String pass) {
this.pass = pass;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getPass1() {
return pass1;
}
public void setPass1(String pass1) {
this.pass1 = pass1;
}
public String getPass2() {
return pass2;
}
public void setPass2(String pass2) {
this.pass2 = pass2;
}
@Override
public String execute() throws Exception {
return super.execute();
}
public String login() {
return SUCCESS;
}
public void validateLogin() {
if (!"admin".equals(getUser()) && !"admin".equals(getPass())) {
this.addFieldError("user", "用户名不能为空!");
}
if (getAge() > 130 || getAge() < 0) {
this.addFieldError("age", "密码有问题!");
}
}
}

其中psd切图html,上面的validateLogin()和validateReg()分别对login和reg表单的校验,psd切图htmlvalidateLogin方法和login方法时对应
的.通过validateXXX方法可以对局部数据惊醒校验web外包,当校验失败是Struts2会自动跳转到input.
其中reg方法用于处理reg.jsp视图,web外包login方法用于处理login.jsp视图网页切图制作,struts.xml配置如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<package name="oneaction" extends="struts-default">
<action name="reg" class="action.OneAction" method="reg">
<result name="success">/success.jsp</result>
<result name="input">/reg.jsp</result>
</action>
<action name="login" class="action.OneAction" method="login">
<result name="success">/success.jsp</result>
<result name="input">/login.jsp</result>
</action>
</package>
</struts>    


login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>登录页面</title>
  </head>
  <body>
  <s:form action="login">
  <s:textfield name="user" label="用户名"></s:textfield>
  <s:password name="pass" label="密码框"></s:password>
  <s:submit value="登录"></s:submit>
  </s:form>
  </body>
</html>

reg.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>注册页面</title>
</head>
<body>
<s:form action="reg">
<s:textfield name="name" label="用户名"></s:textfield>
<s:textfield name="age" label="年龄"></s:textfield>
<s:password name="pass1" label="密码框"></s:password>
<s:password name="pass2" label="重复密码"></s:password>
<s:submit value="注册"></s:submit>
</s:form>
</body>
</html>

点击次数:4575
作者:
web前端行业资讯
Web new NewsList
谷歌发布Tacotron2:能更简单地训练AI学习演讲 ,,2017年12月21日TensorFlow漏洞爆发背后:关于AI安全我们的傻与天真 ,,2017年12月21日Android端Edge浏览器新版发布:常规性能优化和BUG修复 ,,2017年12月21日三星开发出全球最小的DRAM芯片技术领先优势扩大 ,,2017年12月21日腾讯绝艺AI下一步将学习AlphaGozero自对弈训练 ,,2017年12月21日Facebook社交VR应用Spaces扩大覆盖面:入驻HTCVive ,,2017年12月21日设计图曝光:三星双屏折叠手机原来是这样的 ,,2017年12月21日微信支付和支付宝已成为世界移动支付的"老师" ,,2017年12月21日新专利表明FaceID未来有望装备在iPad、MacBook和iMac等设备 ,,2017年12月21日首批九个建议加入EE4J的项目 ,,2017年12月21日这就是SurfacePhone?微软可折叠手机概念图曝光 ,,2017年12月21日继“Angel”开源后,腾讯又开放TDinsight机器学习平台 ,,2017年12月21日谷歌母公司研发“闪光”网络技术无需铺设线缆 ,,2017年12月21日微软投资5千万美元利用人工智能对抗气候变化 ,,2017年12月21日谷歌中国2017:面向开发者的1年AI先行的1年 ,,2017年12月21日GreenKey加入Symphony软件基金会,将开源语音软件 ,,2017年12月21日腾讯发现者揭秘:怎么应对TensorFlow的安全风险,修复有多难 ,,2017年12月21日清华新成立两大交叉研究机构探索智能与未来 ,,2017年12月21日微软将AI融入生产力工具和搜索引擎与其它巨头竞争 ,,2017年12月21日Gfycat将利用机器学习技术创建高分辨率GIF动图 ,,2017年12月21日安全软件公司Avast开源化机器码反编译器RetDec ,,2017年12月21日谷歌开源TFGAN,让训练和评估GAN变得更加简单 ,,2017年12月21日社区对模块化不感兴趣时隔三周经典版FedoraServer27发布 ,,2017年12月21日Windows10加入OpenSSH客户端 ,,2017年12月21日FirefoxQuantum发布一个月安装量1.7亿 ,,2017年12月21日吴恩达宣布创业新项目已与富士康达成战略合作 ,,2017年12月21日Scala入门系列(十二):隐式转换2017年12月20日speedment入门教程2017年12月20日SLAM入门笔记(1):特征点的匹配2017年12月20日深入浅出了解frame和bounds2017年12月20日ERROR:98:Error'!obj'tryingtofetchdefaultinputdevice'ssamplerate【移动开发】2015年06月02日javascript 面向对象的基本概念及示例 【架构设计】2015年01月04日HDu4004二分【编程语言】2014年11月17日SVN中branch的合并和打patch(2) 【互联网】2014年11月27日资料:8种Windows安全模式解析以及应用2014年01月29日Windows8Beta发布前需要考虑的5个问题 ,,2016年07月24日屏幕保护勾选了唤醒时需要密码还是失败的解决办法 【编程语言】2015年08月14日动态数组求n个数的和还有平均数---蓝桥杯【数据库】2015年04月08日UML建模工具,UMLGraph5.5发布 1,收藏 ,,2016年06月23日Android上的HTTP服务器,PersonalServer1.0发布 ,,2016年07月24日看好你的门-XSS攻击(1)-利用反射型XSS漏洞山寨红客插红旗 【编程语言】2015年03月19日BeanQuery修改Bug的版本(1.0.1)已发布【编程语言】2014年11月04日IOS对日期进行排序【移动开发】2015年06月17日用户登录验证Ajax实例详解【综合】2015年08月31日使用java8轻松处理日期 【编程语言】2015年08月24日网站优化中最常见的误区有哪些?2014年01月28日Spring学习总结(1.2)-依赖注入及配置了解【编程语言】2015年05月05日WPS2012轻松制作自荐书教程2014年01月28日20个帮助你入门的实用HTML5教程指南 1,收藏 ,,2016年07月24日python学习笔记之-for循环 【互联网】2015年01月07日JQuery纵向下拉菜单实现心得 【Web前端】2015年03月24日新一代弹性云计算平台Cloudxy发布0.1版 ,,2016年06月23日在RCS工作的日子 【移动开发】2014年12月29日【BZOJ2049】【SDOI2008】Cave洞穴勘测LCT裸题模版题数组版 【编程语言】2014年11月26日解读AFNetworking中Demo的MVC 【研发管理】2014年11月12日CRASH:-【NSNulllength】:unrecognizedselectorsenttoinstance错误的处理办法 【编程语言】2014年12月09日【java】itoo项目实战之javaWeb中web的作用2015年06月24日机器学习实战笔记-1基础【Web前端】2014年11月04日让那些怀疑直销的人歇着吧! 【综合】2015年07月30日MapReduce的ReducesideJoin2015年06月11日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)