- 浏览: 197659 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
xueruipp:
应该还能用吧
坦克大战用到的图片素材 -
泽在1993:
...
坦克大战用到的图片素材 -
AzraelWarrior:
...
坦克大战用到的图片素材 -
edison87915:
...
Java OCR 图像智能字符识别技术,可识别中文 -
innger:
为了避免如此我们应该用如下格式:
什么格式啊?
能不能在页 ...
Spring mvc3自己手动写国际化
1. 在配置文件中声明ValidatorFactory 和 BeanValidator:
<bean id="validatorFactory" class="org.springmodules.commons.validator.DefaultValidatorFactory"> -----①
<property name="validationConfigLocations"> -----②
<list>
<value>/WEB-INF/validator-rules.xml</value>
<value>/WEB-INF/validation.xml</value>
</list>
</property>
</bean>
<bean id="beanValidator"
class="org.springmodules.commons.validator.DefaultBeanValidator"> -------③
<property name="validatorFactory">
<ref bean="validatorFactory" /> --------④
</property>
</bean>
① 声明validatoFactory 这里我们使用spring 的DefaultValidatorFactory
② 定义其validationConfigLocations 属性,将validator-rules.xml和validation.xml传入
③ 声明beanValidator 这里我们使用spring的DefaultBeanValidator
④ 在其属性中指明要使用的validatorFactory 。这里我们使用刚刚定义的validatorFactory
2. 在需要进行验证的controller(即要使用form表单或者command的controller)中声明validate。
<bean id="xxxxController" ……>
<property name="commandName" value="userCommand"/> -----①
<property name="commandClass" value="com.resoft.User"/> -----②
<property name="validator" ref="beanValidator"/> -------③
……
</bean>
① commandName 用于指明需要验证的 command的名字,这个名字必须和 validation.xml中<form name=" xxxxx "> 所写的名字保持一致。
② commandClass用于指定这个command的类型。其必须与你jsp提交的form最后形成的command类型相一致。
③ 声明该controller使用validator,这里将我们刚刚定义的beanValidator传入进去。
3. 在validation.xml文件中,定义你要校验的formbean(或者说是command) ,定义这个bean中有哪几个field需要验证,使用何种规则验证。(注意:这里定义的form name 必须和前面controller中定义的commandName保持一致)以下是几种常用的验证示例:
<form-validation>
<formset>
<form name=" userCommand "> -----①
<field property="userId" depends="required"> -----②
<arg0 key="用户代码" /> -------③
</field>
① 这里是定义要验证的bean的名字,要求去上面定义的 commandName 相同
② 这里定义要验证的bean属性为 userId ,使用规则为 required(不为空)
③ 这里定义的是显示信息,arg0 表示位置 0 的显示信息,显示key 所标明的信息 (如果你还有多个信息就用 arg1,arg2 等)出错信息将会显示为: 用户代码 不能为空
<field property="age" depends="required,integer,mask"> -----①
<arg0 key="年龄" />
<msg name="mask" key="errors.negative"/> -----②
<var>
<var-name>mask</var-name>
<var-value>^[1-9]</var-value> -------③
</var>
</field>
① mask 标记验证,使用正则表达式来约束表单输入值。(如:只能输入数字,字母或指定的字符)
② msg 标签用来定义 验证规则和出错信息的关联,这里表示当出现 mask 校验失败时,显示 errors.negative指明的信息。
③ 整个<var>标签就是用来定义具体的规则的,如<var-name>mask</var-name>指明是用于 mask的规则,<var-value>^[1-9]</var-value> 表示只允许1-9这几个数字开头。
所以上面验证信息是年龄字段不可以为空,必须为整数,而且必须为1-9开头 也就杜绝了负数和零的情况。
<field property="birthday" depends="required,date"> -----①
<arg0 key="生日" />
<var>
<var-name>datePatternStrict</var-name> -----②
<var-value>yyyy-MM-dd</var-value> -----③
</var>
</field>
</formset>
① 使用“date”加入对日期的格式的校验
② 开始定义日期格式,var-name 必须写为 datePatternStrict
③ 定义你希望的日期格式如:yyyy-mm-dd yy/mm/dd 等等都可以。
<field property="startDate" depends="required,date">
<arg0 key="开始日期" />
<var>
<var-name>datePatternStrict</var-name>
<var-value>yyyy-MM-dd</var-value>
</var>
</field>
<field property="endDate" depends="required,date,compareTwoField"> -----①
<arg0 key="结束日期" />
<arg1 key="开始日期" /> -----②
<var>
<var-name>datePatternStrict</var-name>
<var-value>yyyy-MM-dd</var-value>
</var>
<var>
<var-name>secondField</var-name> -------③
<var-value>startDate</var-value>
</var>
</field>
① 这里演示的是两个日期的验证,要达到开始日期不能晚于结束日期,加入compareTwoField 验证规则
② 定义第2个显示参数agr1 “开始日期”
③ 加入一个var 其var-name 为secondField(这个是在程序中写死的,必须写为secondField)
④ var-value 定义为开始日期的属性名,如在本例中为 startDate
注:compareTwoField 是我们自己编写的一个校验规则,用于比较两个字段值大小。
4. 在jsp页面中定义错误信息显示语句:
<spring:bind path="tableCrashDO.*"> -----①
<c:if test="${not empty status.errorMessages}">
<div class="error">
<c:forEach var="error" items="${status.errorMessages}">
<c:out value="${error}" escapeXml="false"/><br />
</c:forEach>
</div>
</c:if>
</spring:bind>
① 这里的path 必须要与传入该 jsp 的bean的名字一样。如传入该jsp的数据bean 叫tableCrashDO,path就应该写为tableCrashDO.*。
5. 使客户端产生javascript代码:
<v:javascript formName="tableCrashDO" -----①
staticJavascript="false" xhtml="true" cdata="false"/>
<script type="text/javascript" src="<c:url value="scripts/validator.jsp"/>"></script>
① v:javascript 标签是spring的标签,定义在spring-commons-validator.tld 。其中formName必须与validation.xml中form的name保持一致。
如此以来,基本上可以算完成了validate的验证配置。
(特别注意: controller 中的commandName; validation.xml中的form name; jsp中v:javascript标签的formName三者必须保持一致。)
发表评论
-
Java创建WebService服务及客户端实现
2014-02-26 10:48 6143WebService是一种服务的 ... -
新浪博客那样用户自己提交二级域名并自动解析是怎么实现的?
2013-11-27 09:24 811方法一 通过泛域名解析,将某个顶级域名下的所有的子域名都指向 ... -
【转】Java:Session详解
2013-01-18 14:06 967【转】Java:Session详解 书中讲: 以下情况,Se ... -
Eclipse 堆栈和内存大小设置
2012-11-09 00:26 10251, 设置Eclipse内存使用情况 修改ecl ... -
Target runtime Apache Tomcat 6.0 is not defined
2012-11-07 09:52 1006Eclipse导入工程后工程上显示一个小红叉,但工程里没有文 ... -
怎样在Eclipse中使用debug调试程序?
2012-10-10 10:20 0最基本的操作是: 1, 首先在一个java文件中设断点, ... -
Javascript跳转页面和打开新窗口等方法
2012-09-28 21:14 11981.在原来的窗体中 ... -
String与InputStream互转
2012-09-15 02:14 7172//String转inputStream 1. String ... -
Tomcat下面配置二级域名
2012-05-29 11:33 2518(1)开通二级域名支持,即house.map512.cn,pl ... -
Java OCR 图像智能字符识别技术,可识别中文
2012-05-22 15:34 2351几天一直在研究 OCR 技术,据我了解的情况,国内最专 ... -
上传组件
2012-05-02 23:19 928http://seyaa.iteye.com/blog/106 ... -
java实现简单的单点登录
2012-04-09 14:13 930http://www.blogjava.net/xcp/arc ... -
web service 实例
2012-02-20 11:18 864http://wenku.baidu.com/view/fac ... -
URI和URL的不同
2012-01-17 19:40 11991.什么是URI Web上可用的每种资源 - ... -
常用解决疑难杂症的网站
2012-01-09 09:28 961http://stackoverflow.com/questi ... -
java内部类详解
2012-01-05 13:56 1221内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一 ... -
iBATIS的多对多映射配置浅析
2011-12-28 16:58 921http://developer.51cto.com/art/ ... -
Spring security3 中文官方文档
2011-12-23 13:57 1047Spring security 3.0 官方翻译文档 -
Spring security 3.0 配置实例
2011-11-30 23:29 1062http://junjun16818.iteye.com/bl ... -
Java treemap 排序
2011-11-25 11:42 1918TreeMap 和 HashMap 用法大 ...
相关推荐
关于如何使用"spring-commands-cucumber" gem,描述中提到了一个关键步骤,即需要将它添加到你的Gemfile中。Gemfile是Ruby项目中管理依赖关系的文件,添加以下代码: ```ruby gem "spring-commands-cucumber" ``` ...
在Laravel中,可以使用`Artisan::call()`方法来模拟命令行执行,并检查结果。 六、实战应用 “Laravel开发-commands”可能包含了各种实用的自定义命令,如批量数据导入、生成报告、清理缓存等。通过这样的命令集合...
为了在 Laravel 中使用 libphonenumber,你需要通过 Composer 安装它。打开 `composer.json` 文件,在 `require` 部分添加以下依赖: ```json "require": { "giggsey/libphonenumber-for-php": "^8.12" } ``` ...
遗憾的是,没有更多的信息可供参考,我们无法提供具体的使用方法。通常,开发者会在库的GitHub页面或官方文档中找到这些信息。 总结起来,"rt.commands-0.1.zip"是一个可能包含系统命令处理功能的Python库,它的...
spring-framework-4.3.6.RELEASE - 解包大小为 44.9 MB ## Spring Framework The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications ...
此外,作者和出版社在准备本书时虽已尽力,但不对书中的任何错误或遗漏做出明示或暗示的保证,也不承担使用本书信息或程序可能引起的间接或相应损害的责任。 最后,版权信息还提到了出版社的联系方式和图书馆编目...
cicd自动化,使用官方提供脚本文件生成compile_commands.json,供clang工具使用
SCSI Primary Commands 4 (SPC-4) 是现代存储系统中的基石之一,它不仅定义了一套标准化的通信协议,还持续推动着存储技术的发展。对于IT专业人员来说,深入理解SPC-4及其背后的原理,是掌握高性能存储解决方案的...
在IT行业中,Spring Boot是一个广泛使用的Java开发框架,它简化了Spring应用的初始搭建以及开发过程。本项目是关于如何利用Spring Boot结合Redis这一高效内存数据存储系统来实现“附近的人”功能。这个功能通常应用...
4. **在上下文菜单中使用命令 (Commands and context menus)**: - **概念**: 上下文菜单是在某个UI元素上右键点击时出现的菜单。 - **实现方式**: 同样通过 `org.eclipse.ui.menus` 扩展点定义。 #### 七、高级...
2. `README*`: 通常包含项目介绍、使用方法和开发者指南。 3. `LICENSE`: 许可文件,说明软件的授权方式。 4. `requirements.txt`: 项目依赖的Python库列表。 5. `docs/`: 可能包含项目的文档。 6. `src/` 或 `...
此标准规定了SCSI Block Commands - 3(SBC-3)命令集的功能要求.SBC-3允许SCSI块逻辑单元(如刚性磁盘)连接到计算机并提供其使用的定义。 该标准与SCSI Block Commands(SBC-2)命令集INCITS 405-2005保持高度兼容...
FreeBSD Commands It is useful!
手册中的内容涵盖了大量具体命令的使用方法、参数设置以及可能的响应。这些信息对于开发人员在集成u-blox模块到移动设备或系统中,实现数据通信功能是必不可少的。 手册中的“Applicable products”部分列举了具体...
下面将详细阐述这些命令及其使用方法。 1. **迁移(Migrations)**: - `php artisan migrate`: 这是运行所有未执行的迁移命令的命令。在Laravel项目中,我们通常使用迁移来创建和修改数据库表结构。迁移文件存储...
使用想服务器上传jsp执行windows或者linux命令,来获取服务器的资源情况。 Commands with JSP.sjp
SCSI Primary Commands - 4 (SPC-4) spc4r25 This is an internal working document of T10, a Technical Committee of Accredited Standards Committee INCITS (InterNational Committee for Information ...