struts里面的方法校验
一、全局方法检验
1、校验输入界面
<body> <s:property value="fieldErrors.usernameError[0]"/> <s:property value="fieldErrors.passwordError[0]" /> <form action="validate_save"> 姓名:<input type="text" name="username" value="" ><br/> 密码:<input type="password" name="password" value="" ><br/> <input type="submit" value="提交"> </form> </body>
2、struts.xml里面action配置
<struts> <package name="main" namespace="/" extends="struts-default"> <action name="validate_*" class="com.edu.hpu.action.ValidateAction" method="{1}"> <result>/WEB-INF/validate/validate_{1}.jsp</result> <result name="input">/WEB-INF/validate/validate_input.jsp</result> </action> </package> </struts>
3、ValidateAction(当输入不符合请求的时候,validate()方法会返回INPUT)
package com.edu.hpu.action; import com.opensymphony.xwork2.ActionSupport; public class ValidateAction extends ActionSupport { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String save() { return SUCCESS; } public String input() { return INPUT; } /** * 重写validate()方法,进行全局校验 */ @Override public void validate() { if(username == null || username.trim().equals("")) { this.addFieldError("usernameError", "用户名为空"); } else if(password == null || password.trim().equals("")) { this.addFieldError("passwordError", "密码为空"); } } }
二、局部方法检验规则(注意命名规则)
/** * 局部方法校验: * 命名规则: * validateSave:validate(固定写法) + Save(要检验的方法名) */ public void validateSave() { if(username == null || username.trim().equals("")) { this.addFieldError("usernameError", "用户名为空"); } else if(password == null || password.trim().equals("")) { this.addFieldError("passwordError", "密码为空"); } }
相关推荐
1. **XML验证配置**:在传统的Struts2验证中,我们通常会在Action类对应的package配置文件中添加一个`<validators>`元素,里面包含一系列的`<field>`和`<field-validator>`标签,用于指定要验证的字段以及相应的验证...
- `xwork-core.jar`:XWork框架,Struts 2的基础,提供了类型转换、数据校验等功能。 - `ognl.jar`:Object-Graph Navigation Language,用于表达式语言,处理Action与视图间的数据绑定。 - `freemarker.jar`:...
此外,OGNL还可以在Struts2的拦截器中使用,比如进行数据校验或者权限控制。在Action的返回值中,可以通过OGNL指定要转发到的JSP页面,如`<result name="success">success.jsp</result>`。 总的来说,`struts2_OGNL...
通常,它会包括一个Action类,里面包含验证方法,以及对应的配置文件条目。测试时,模拟用户输入,检查验证是否按预期工作,错误是否正确记录和显示。 通过深入理解和熟练运用Struts2的验证机制,你可以构建出更...
在XML文件中,每个字段都有一个`field`元素,里面包含`key`(错误消息的键)和`validators`(验证器)。 3. **错误消息**: 错误消息可以在资源文件(如`messages.properties`)中定义,这样可以方便地国际化和...
里面有struts2的国际化例子,还有struts2校验框架例子,还有freemarker结合struts2的例子,还有一个volicity和struts2对比的例子(引张荣华的一部分'作者言明要标注,所以特此写明')还有自己写的以部分!对了里面...
本例主要是实现了struts2+spring3+hibernate3的 基本框架搭建的注册登录,以及用户增删改查,适于初学者学习。 包括:注册 登录功能 分页的实现 前端校验 验证码的实现 注册时有ajax 校验,登录时 后台从数据库...
然后,在Struts2的Action类中,定义处理用户输入的方法,如register()或login()。这些方法可以利用Spring的@Autowired注解注入SessionFactory,通过Session执行SQL操作,如插入、查询数据库。 在实际开发中,为了...
struts2+spring2.5+hibernate3.2做的还有登陆DWR校验 导入项目后,会报错,导入jar包即可。 struts2+spring2.5+hibernate3.2+dwr+MySQL驱动包 把上述包导了就没错了。 打包有个user.txt为数据库导出的,你导入...
在Struts2中,这些数据可以从请求参数中获取,然后在Action类中进行校验。如果验证成功,Action可以将用户信息存储在session中,以便后续页面访问时识别用户身份。如果验证失败,Action则会返回一个错误消息到视图层...
3. XML国际化:在使用验证器进行数据校验时,也可以对错误信息进行国际化处理。 一个简单的国际化使用案例可能如下: 首先,你需要创建符合命名规范的国际化资源文件,例如messageResource_zh_CN.properties,里面...
使用DTD或Schema校验XML。从XML生成DTD或Schema。与其它编辑器相比最大不同之处在 于,Rinzo能够与Java elements结合在一起。你可以打开一个类的定义,自动完成类名,从XML声明创建类。这将非常有用假如你要编辑web....
"ZFPrj"可能是项目的源代码文件夹,里面包含了系统的具体实现,包括但不限于配置文件(如struts-config.xml、spring配置文件)、Java源码(Action、Service、DAO层)、HTML页面、JSP视图、以及可能的样式表(CSS)和...
它使用配置文件来定义请求的映射,同时提供了丰富的拦截器机制,可以进行数据校验、权限控制等操作。 3. **Hibernate框架**:Hibernate允许开发者使用Java对象来操作数据库,避免了SQL的直接编写,提高了开发效率。...
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...
11、写js校验——myjs文件夹下。 12、写好action对应的JSP "/dangdang/user/login!form.do" /项目名/namespace/action的请求!action里的方法 相对路径的写法 <%@taglib uri="/struts-tags" prefix="s"%> ;...
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中有...
70、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常! 48 71、说出一些常用的类,包,接口,请各举5个 49 72、java中...