通过重写validate()或validateXxx()方法实现, validate()方法会校验action中所有与execute方法签名相同的方法。 validateXxx()只会校验action中方法名为Xxx的方法。其中Xxx的第一个字母要大写。当某个数据校验失败时,我们应该调用addFieldError()方法往系统的fieldErrors添加校验失败信息(为了使用addFieldError()方法,action可以继承ActionSupport ),如果系统的fieldErrors包含失败信息,struts2会将请求转发到名为input的result。在input视图中可以通过<s:fielderror/>显示失败信息。
validate()使用例子:
@Override
public void validate() {
if(username==null && "".equals(username.trim())) this.addFieldError("username", "用户名不能为空");
}
validateXxx()方法使用例子:
public String add() throws Exception{
return "success";
}
public void validateAdd(){
if(username==null && "".equals(username.trim())) this.addFieldError("username", "用户名不能为空");
}
验证失败后,请求转发至input视图:
<result name="input">/WEB-INF/page/addUser.jsp</result>
在addUser.jsp页面中使用<s:fielderror/>显示失败信息。
分享到:
相关推荐
- **采用手工编写代码校验**: - **定义validate方法**:在Action类中定义`validate()`方法来进行校验逻辑。 - **定义input视图**:如果校验失败,可以指定返回一个特定的视图供用户修正错误。 - **用Struts2标签...
4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 4.2.5 实例...
- 依赖注入可以通过手工装配(直接在代码中创建和关联对象)或自动装配(如Spring框架的@Autowired注解)来实现。 8. **AOP实现**: - JDK动态代理和CGLib动态代理是Spring AOP实现的基础,用于实现方法拦截。 9...
4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 ...
JEECG代码生成器是一款针对J2EE开发者的高效开发工具,旨在通过自动化的方式解决传统手工编码中的重复性劳动问题,提升开发效率与代码质量。它能够有效整合并管理各个孤立的信息系统,形成统一的技术栈与开发规范,...
3. **查询SQL过滤器**:提供动态生成查询SQL的能力,无需编写后端代码,仅需在页面追加查询字段即可实现复杂查询功能。 4. **页面校验自动生成**:集成EasyUI的校验机制,自动生成各类输入验证,如必填项检查、数字...
4. 页面校验器:利用EasyUI的页面校验机制,实现前端页面字段的校验功能。 5. 常用共通封装:包括数据字典、邮件发送、定时任务、短信接口以及Freemarker模板工具等,这些工具类的封装使得开发人员可以更加专注于...
它需要程序员自己写 SQL 语句,不像 Hibernate 那样是完全面向对象的、自动化的,iBATIS 是半自动化的,通过表和对象的映射以及手工书写的 SQL 语句,能够实现比 Hibernate 等更高的查询效率。 iBATIS 的优点包括:...
JEECG采用了成熟的SSH2框架(Struts2 + Spring3 + Hibernate4),易于掌握,对新手友好。代码生成器的设计具有高度的灵活性,便于进行二次开发,降低了对外部依赖的需求,增强了框架的可扩展性。 **2. 高效开发** ...
多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗? 基本数据类型包括byte、int、char、long、float、double、boolean和short。 java....