JAVA教程之利用validwhen计划庞大的Struts表单考证...
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。表单考证|计划经由过程Struts1.2供应的validwhen考证器能够轻松的创立加倍庞大天真的表单考证。
好比说,我们要考证用户两次输出的暗码是不是不异,或是只要当用户填写表单项“姓氏”时,表单项“名字”才是必需的。
validwhen必要声明一个叫test的var字段,这个变量的值是一个布尔型的表达式,好比:
<var-name>test</var-name><var-value>((orderLines[].partNumber==null)or(*this*!=null))</var-value>
当布尔型表达式前往true时,考证才会乐成。下边是同意发进该表达式的一些元素:
单引号或双引号括起来的字符串十进制、十六进制或八进制暗示的整形字面量null暗示没有输出的空串可使用表单里的任何字段名字,如customerAge显式援用的索引字段,如childLastName隐式援用的索引字段,如childLastName[],暗示利用与该字段不异的索引字面量*this*暗示以后被考证的表单
例:
下边这段代码暗示:只要当sendNewsletter字段为空,或该字段emailAddress不为空时,该字段才无效
<fieldproperty="emailAddress"depends="validwhen"><arg0key="userinfo.emailAddress.label"/><var><var-name>test</var-name><var-value>((sendNewsletter==null)or(*this*!=null))</var-value></var></field>下边这个例子暗示,只要响应的partNumber存在时,字段quantity才是必需的
下边这个例子暗示,只要响应的partNumber存在时,字段quantity才是必需的
<fieldproperty="quantity"indexedListProperty="orderLines"depends="validwhen"><arg0key="orderform.quantity.label"/><var><var-name>test</var-name><var-value>((orderLines[].partNumber==null)or(*this*!=null))</var-value></var></field>下边这个例子暗示,假如输出身高小于60英寸,则不克不及做nbaPointGuard
下边这个例子暗示,假如输出身高小于60英寸,则不克不及做nbaPointGuard
<fieldproperty="nbaPointGuard"depends="validwhen"><arg0key="careers.nbaPointGuard.label"/><var><var-name>test</var-name><var-value>((heightInInches>=60)or(*this*==null))</var-value></var></field>
大型的应用一般不会用这些框架(因为性能考虑);开发人员根据需要选择用一些框架,也可以不选用框架;不用框架并不代表要自己写框架;修改框架的可能性更小。 是一种将安全性(Security)列为第一优先考虑的语言 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
页:
[1]