- 浏览: 1536179 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (525)
- SEO (16)
- JAVA-EE-Hibernate (6)
- JAVA-EE-Struts (29)
- JAVA-EE-Spring (15)
- Linux (37)
- JAVA-SE (29)
- NetWork (1)
- CMS (14)
- Semantic Research (3)
- RIA-Flex (0)
- Ajax-Extjs (4)
- Ajax-Jquery (1)
- www.godaddy.com (0)
- SSH (34)
- JavaScript (6)
- SoftwareEngineer (9)
- CMMI (0)
- IDE-Myeclipse (3)
- PHP (1)
- Algorithm (3)
- C/C++ (18)
- Concept&Items (2)
- Useful WebSite (1)
- ApacheServer (2)
- CodeReading (1)
- Socket (2)
- UML (10)
- PowerDesigner (1)
- Repository (19)
- MySQL (3)
- SqlServer (0)
- Society (1)
- Tomcat (7)
- WebService (5)
- JBoss (1)
- FCKeditor (1)
- PS/DW/CD/FW (0)
- DesignPattern (11)
- WebSite_Security (1)
- WordPress (5)
- WebConstruction (3)
- XML|XSD (7)
- Android (0)
- Project-In-Action (9)
- DatabaseDesign (3)
- taglib (7)
- DIV+CSS (10)
- Silverlight (52)
- JSON (7)
- VC++ (8)
- C# (8)
- LINQ (1)
- WCF&SOA (5)
- .NET (20)
- SOA (1)
- Mashup (2)
- RegEx (6)
- Psychology (5)
- Stock (1)
- Google (2)
- Interview (4)
- HTML5 (1)
- Marketing (4)
- Vaadin (2)
- Agile (2)
- Apache-common (6)
- ANTLR (0)
- REST (1)
- HtmlAnalysis (18)
- csv-export (3)
- Nucth (3)
- Xpath (1)
- Velocity (6)
- ASP.NET (9)
- Product (2)
- CSS (1)
最新评论
-
lt26w:
理解成门面模式应该比较容易明白吧
FacadePattern-Java代码实例讲解 -
lt26w:
看下面的例子比较明白.
FacadePattern-Java代码实例讲解 -
javaloverkehui:
这也叫文档,别逗我行吗,也就自己看看。
HtmlCleaner API -
SE_XiaoFeng:
至少也应该写个注释吧。
HtmlCleaner API -
jfzshandong:
...
org.springframework.web.filter.CharacterEncodingFilter 配置
关键字: validator
下面将介绍如何在SSH框架中使用Validator框架,Validator框架采用基于xml文件来配置验证规则,它主要依赖两个jar包:commons-validator-1.3.0.jar和oro-2.0.8.jar,要在SSH使用Validator框架,必须把这两个jar包引用进来,其实Struts框架已包含这两个jar包,所以我们不用再单独引入了。
要在SSH框架中使用Validator,更确切的说是在Struts框架中使用,可以采用插件机制把Validator加入到框架,这需要修改原来的struts-config.xml文件,增加配置ValidatorPlugIn插件,代码如下:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/org/apache/struts/validator/validator-rules.xml,
/WEB-INF/validation.xml" />
<set-property property="stopOnFirstError" value="true" />
</plug-in>这样当应用启动时,Struts框架就会加载ValidatorPlugIn插件。
validator-rules.xml文件是Validator框架自带的,它定义了一些常有的校验规则,而validation.xml是我们自己定义的,它针对某个应用,内容如下:
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE form-validation PUBLIC
"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.3.0//EN"
"http://jakarta.apache.org/commons/dtds/validator_1_3_0.dtd">
<form-validation>
<formset>
<form name="registerForm">
<field property="register.username" depends="required">
<arg key="register.username" position="0"/>
</field>
<field property="register.password" depends="required,minlength">
<arg key="register.password" position="0"/>
<arg name="minlength" key="${var:minlength}" resource="false" position="1"/>
<var>
<var-name>minlength</var-name>
<var-value>6</var-value>
</var>
</field>
<field property="register.email" depends="required,email">
<arg key="register.email" position="0"/>
</field>
</form>
</formset>
</form-validation>
form元素的name属性指定要进行验证的表单,field元素的property属性指定要验证属性,depends定义了验证方式,在这里,我们定义了username属性不能为空,password属性不能为空,并且最小长度不能小于6,email属性必须是合法的邮件地址。定义验证方式之后,我们还必须修改资源文件registermessages.properties,增加以下内容:
# Errors
errors.header=<h3><fontcolor="red">ValidationError</font></h3>Youmustcorrectthefollowingerror(s)beforeproceeding:
errors.required={0}isrequired.
errors.minlength={0}cannotbelessthan{1}characters.
errors.email={0}isaninvalide-mailaddress.这资源文件中{0}对应着<arg key="" position="0"/>,{1}对应着<arg key="" position="1"/>,以此类推,如果有验证错误产生,将用key的值替换{n}
此外,我们还要修改struts-config.xml文件,修改内容见粗体:
//把原来的DynaActionForm 改为DynaValidatorForm
<form-beans>
<form-bean name="registerForm"
type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="register" type="test.register.entity.Register" />
</form-bean>
</form-beans>
//把原来的validate="false"改为validate="true"
<action-mappings>
<action name="registerForm" path="/register" scope="request"
type="test.register.action.RegisterAction" validate="true"
input="/register.jsp">
<forward name="success" path="/registerSuccess.jsp" />
</action>
</action-mappings>
修改错误显示的样式,我们在register.jsp中,替换原来<html/errors>为
<logic:messagesPresent>
<bean:message key="errors.header"/>
<ul>
<html:messages id="error">
<li><bean:write name="error"/></li>
</html:messages>
</ul><hr />
</logic:messagesPresent>
注意在页面上加入
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
发表评论
-
fckedit和struts2集成不能上传文件的解决方法
2010-01-24 10:52 1620以前在使用fckedit+strut1上传文件很顺利,后来使用 ... -
struts validator框架
2010-01-09 13:56 1430Struts 验证器基础 步骤 1. 安装 Strut ... -
The path of an ForwardConfig cannot be null-struts validator验证框架异常
2010-01-09 13:54 3049struts validator验证框架异常 在测 ... -
关于一个Action对应多个Form
2009-12-28 23:49 1512由于一个Action可以用多个path来访问,所以我们可以通过 ... -
一个Action对应多个Form DispatchAction
2009-12-28 23:32 2711一个Action对应多个Form ... -
DynaValidatorForm类
2009-12-28 23:23 1290DynaValidatorForm类 http ... -
Struts出现No getter method for property的解决
2009-12-28 22:48 2013请从一下几方面着手检查代码 1、JavaBean中的属性 ... -
Struts Validator验证器使用指南
2009-12-07 18:34 788Struts Validator 验证器 ... -
Form '***' not found for locale 'zh _CN'
2009-12-07 16:13 4372Form '***' not found for locale ... -
Struts2 拦截器详细配置过程
2009-12-06 21:23 18241:所有拦截器的超级接口Interceptor ,Ac ... -
如何在SSH框架中使用Validator框架
2009-12-05 00:19 1334关键字: validator 下 ... -
Struts验证框架与一些技巧
2009-12-04 23:46 16498还是通过一些步骤例子说明 首先建立Struts工程的时候要 ... -
Struts-validator验证框架与一些技巧
2009-12-04 23:44 1161这个框架褒贬不一呀~~~ =========== ... -
struts 标签详解
2009-12-04 21:28 1043struts 标签详解 Action和jsp的开发其实就 ... -
HTTP Status 404 - Servlet action is not available(二)
2009-12-04 18:41 5874今天在帮公司的新手弄SSH的一个登录程序时,出现了Servle ... -
HTTP Status 404 - Servlet action is not available(一)
2009-12-04 18:40 7831sp /meCall 发表于2007-10-08, 1 ... -
SSH中Cannot retrieve mapping for action
2009-12-04 18:22 2186<script type="text ... -
Cannot retrieve mapping for action 之 问题解决
2009-12-04 18:21 11343struts的form标 ... -
利用Struts的Validator验证框架实现客户端和服务器端双验证
2009-12-04 18:18 1548... -
struts的parameter功能
2009-12-04 17:32 1078没有struts之前,使用servlet,最常用的是d ...
相关推荐
在Java编程中,`java.lang.NoSuchMethodException` 是一个常见的运行时异常,它表示尝试调用一个不存在的方法。这个异常通常发生在动态方法调用或反射操作中。在给出的标题 "java.lang.NoSuchMethodException: ....
在Java编程中,`java.lang.NoSuchMethodException`异常通常表明在运行时尝试调用一个不存在的方法。这个错误在上传文件时出现,可能是由于在控制器方法的签名与前端发送请求时的参数不匹配导致的。在描述中提到的...
Java中的`java.lang.NoSuchMethodException`异常通常表明在运行时尝试调用一个不存在的方法。这个错误通常发生在动态代理、反射或者其他需要在运行时查找或调用特定方法的场景。在这个特定的问题中,错误提示是`java...
在Java编程中,`NoSuchMethodException` 是一个常见的运行时异常,它发生在尝试调用一个不存在的方法时。这个异常属于`java.lang`包,通常在动态方法调用或反射操作时抛出。当我们试图通过对象实例或类来执行一个在...
项目中碰到的,记录一下解决方案
在Java编程中,`java.lang.NoSuchFieldException`是运行时异常的一种,通常发生在尝试访问或操作一个类的字段,但该字段在指定的类或其任何超类中不存在时。这个异常表明在编译期间可能存在的字段在运行时无法找到,...
然而,当开发者尝试使用反射调用一个不存在的方法时,便会遇到`java.lang.NoSuchMethodException`异常。本文将深入探讨此异常,特别是它在服务器端Java应用中的常见场景——例如Struts框架——并提供详细的解决方案...
MyBatis-通用Mapper通过逆向工程(Reverse Engineering)和代码生成工具,能够自动生成与数据库表相关的Java实体类、Mapper接口和Mapper XML配置文件,极大地提高了开发效率。下面我们将深入探讨这个工具的使用和...
4. **`java.lang.NoSuchMethodException`** - 当试图通过反射调用不存在的方法时抛出此异常。 5. **`java.io.FileNotFoundException`** - 尝试打开不存在的文件时抛出此异常。 ### 非检查性异常 (Unchecked ...
11. **java.lang.NoSuchMethodException**: 当试图调用一个不存在的方法时,抛出此异常。检查方法名、参数列表和返回类型是否与实际方法匹配。 12. **java.lang.AbstractMethodError**: 当实现接口或继承抽象类的类...
- **java.lang.NoSuchMethodException**:当试图调用不存在的方法时抛出。 理解并能有效地处理这些异常对于编写健壮的Java程序至关重要。Java API文档提供了每个异常的详细描述和用法,是开发者解决问题的宝贵资源...
9. **`java.lang.NoSuchMethodException`**:当尝试调用一个不存在的方法时抛出。确保方法签名正确,类路径和类加载器设置无误。 除了上述异常,还有许多其他类型的异常,如`ClassNotFoundException`、`...
11. **java.lang.NoSuchMethodException**: 当试图调用一个不存在的方法时,会抛出此异常。检查方法名、参数列表以及类的API文档,确保方法确实存在。 12. **java.lang.AbstractMethodError**、**java.lang....
java.lang.NullPointerException 是一种常见的错误,发生在程序中调用了未经初始化的对象或不存在的对象时。例如,在创建图片或调用数组时,如果图片未经初始化或数组元素未经初始化,就会出现该错误。解决方法是...
- **`java.lang.NoSuchMethodException`**:方法未找到异常。 #### 三、总结 异常处理对于编写健壮和可靠的Java应用程序至关重要。理解不同类型的异常及其触发条件可以帮助开发者更好地设计和维护代码。此外,...
- **`java.lang.NoSuchMethodException`**:当反射调用不存在的方法时抛出。 ### 运行时异常 除了上述提到的检查性异常之外,还有一些不需显式捕获的运行时异常,例如: - **`java.lang.AssertionError`**:断言...