|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于一个大型项目,如果用java来作,可能需要9个月,并且可能需要翻阅10本以上的书,但如果用ruby来作,3个月,3本书就足够了,而.net也不过3,4本书足以,这就是区别。
struts2的考证器是用的xwork内里的考证,自界说考证器就是依据源码承继已有的字段考证器而来。详细步骤以下:
1.睁开xwork-2.0.4.jar,com.opensymphony.xwork2.validator.validators目次下有个default.xml,将它复制到项目根目次下更名叫validators.xml。
考证框架起首在根目次下找validators.xml文件,没找到validators.xml文件,考证框架将挪用默许的考证设置,即default.xml内里的设置信息.
4.新建一个类(身份证考证为例:类名CardIdFieldValidator)承继FieldValidatorSupport,完成validate办法。- packageorg.siyn.commons.validators;importcom.opensymphony.xwork2.validator.ValidationException;importcom.opensymphony.xwork2.validator.validators.FieldValidatorSupport;publicclassCardIdFieldValidatorextendsFieldValidatorSupport{ publicvoidvalidate(Objectobject)throwsValidationException { //取得字段的名字 StringfieldName=getFieldName(); //取得输出界面输出的值 Stringvalue=getFieldValue(fieldName,object).toString(); if(value==null||value.length()<=0) return; if(value.length()!=15&&value.length()!=18)//身份证必需是15或18位! addFieldError(fieldName,object); if(value.length()==15) validate15CardId(value,object); if(value.length()==18) validate18CardId(value,object); } /***//** *<p>18位身份证考证</p>
复制代码 *
*依据〖中华国民共和国国度尺度GB11643-1999〗中有关国民身份号码的划定,国民身份号码是特性组合码,由十七位数字本体码和一名数字校验码构成。
*分列按次从左至右顺次为:六位数字地点码,八位数字出身日期码,三位数字按次码和一名数字校验码。
*
*第十八位数字(校验码)的盘算办法为:
*1.将后面的身份证号码17位数分离乘以分歧的系数。从第一名到第十七位的系数分离为:7910584216379105842
*2.将这17位数字和系数相乘的了局相加。
*3.用加出来和除以11,看余数是几?
*4.余数只大概有012345678910这11个数字。其分离对应的最初一名身份证的号码为10X98765432。
*5.经由过程下面得知假如余数是2,就会在身份证的第18位数字上呈现罗马数字的Ⅹ。假如余数是10,身份证的最初一名号码就是2。
<p>
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。 |
|