仓酷云

标题: 来看Struts2教程4:利用validate办法考证数据 [打印本页]

作者: 海妖    时间: 2015-1-18 11:08
标题: 来看Struts2教程4:利用validate办法考证数据
微软什么都提供了。你可以试想一下,如果你是新手,你是希望你点一下按钮程序就能运行那,还是想自己一点一点的组织结构,然后打包发部,调错再打包......
在Struts2中最复杂的考证数据的办法是利用validate。我们从ActionSupport类的源代码中能够看到,ActionSupport类完成了一个Validateable接口。这个接口只要一个validate办法。假如Action类完成了这个接口,Struts2在挪用execute办法之前起首会挪用这个办法,我们能够在validate办法中考证,假如产生毛病,能够依据毛病的level选择字段级毛病,仍是举措级毛病。而且可以使用addFieldError或addActionError到场响应的毛病信息,假如存在Action或Field毛病,Struts2会前往“input”(这个其实不用开辟职员写,由Struts2主动前往),假如前往了“input”,Struts2就不会再挪用execute办法了。假如不存在毛病信息,Struts2在最初会挪用execute办法。
这两个add办法和ActionErrors类中的add办法相似,只是add办法的毛病信息必要一个ActionMessage对象,对照贫苦。除到场毛病信息外,还可使用addActionMessage办法到场乐成提交后的信息。当提交乐成后,能够显现这些信息。
以上三个add办法都在ValidationAware接口中界说,而且在ActionSupport类中有一个默许的完成。实在,在ActionSupport类中的完成实践上是挪用了ValidationAwareSupport中的响应的办法,也就是这三个add办法是在ValidationAwareSupport类中完成的,代码以下:
  1. privatefinalValidationAwareSupportvalidationAware=newValidationAwareSupport();
  2. publicvoidaddActionError(StringanErrorMessage)
  3. {validationAware.addActionError(anErrorMessage);
  4. }
  5. publicvoidaddActionMessage(StringaMessage)
  6. {
  7. validationAware.addActionMessage(aMessage);
  8. }
  9. publicvoidaddFieldError(StringfieldName,StringerrorMessage)
  10. {
  11. validationAware.addFieldError(fieldName,errorMessage);
  12. }
复制代码
上面我们来完成一个复杂的考证程序,来体验一个validate办法的利用。
先来在Web根目次创建一个主页面(validate.jsp),代码以下:
  1. <%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
  2. <%@taglibprefix="s"uri="/struts-tags"%>
  3. <html>
  4. <head>
  5. <title>考证数据</title>
  6. </head>
  7. <body>
  8. <s:actionerror/>
  9. <s:actionmessage/>
  10. <s:formaction="validate.action"theme="simple">
  11. 输出内容:<s:textfieldname="msg"/>
  12. <s:fielderrorkey="msg.hello"/>
  13. <br/>
  14. <s:submit/>
  15. </s:form>
  16. </body>
  17. </html>
复制代码
<p>
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。
作者: 莫相离    时间: 2015-1-25 23:40
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 若天明    时间: 2015-2-4 13:04
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者: 小妖女    时间: 2015-2-9 22:54
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 再见西城    时间: 2015-2-28 03:34
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
作者: 飘灵儿    时间: 2015-3-9 20:26
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 透明    时间: 2015-3-17 00:38
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 灵魂腐蚀    时间: 2015-3-23 10:06
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2