海妖 发表于 2015-1-18 11:08:37

来看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类中完成的,代码以下:

privatefinalValidationAwareSupportvalidationAware=newValidationAwareSupport();
publicvoidaddActionError(StringanErrorMessage)
{validationAware.addActionError(anErrorMessage);
}
publicvoidaddActionMessage(StringaMessage)
{
validationAware.addActionMessage(aMessage);
}
publicvoidaddFieldError(StringfieldName,StringerrorMessage)
{
validationAware.addFieldError(fieldName,errorMessage);
}上面我们来完成一个复杂的考证程序,来体验一个validate办法的利用。
先来在Web根目次创建一个主页面(validate.jsp),代码以下:

<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
<%@taglibprefix="s"uri="/struts-tags"%>
<html>
<head>
<title>考证数据</title>
</head>
<body>
<s:actionerror/>
<s:actionmessage/>
<s:formaction="validate.action"theme="simple">
输出内容:<s:textfieldname="msg"/>
<s:fielderrorkey="msg.hello"/>
<br/>
<s:submit/>
</s:form>
</body>
</html><p>
java是一种面向对象的编程语言,优点是可移植性比较高,最初设计时就是本着一次编写到处执行设计的。可以开发各种应用程序和游戏,不过速度没有c++快,所以一般是不用java来编写应用程序和电脑游戏。

莫相离 发表于 2015-1-25 23:40:21

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

若天明 发表于 2015-2-4 13:04:25

Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站

小妖女 发表于 2015-2-9 22:54:22

任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言

再见西城 发表于 2015-2-28 03:34:29

你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。

飘灵儿 发表于 2015-3-9 20:26:56

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

透明 发表于 2015-3-17 00:38:50

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

灵魂腐蚀 发表于 2015-3-23 10:06:25

设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
页: [1]
查看完整版本: 来看Struts2教程4:利用validate办法考证数据