`

struts2手工编写代码实现输入校验

阅读更多

 

通过重写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/>显示失败信息。

 

 


 

分享到:
评论

相关推荐

    Struts2.1学习笔记

    - **采用手工编写代码校验**: - **定义validate方法**:在Action类中定义`validate()`方法来进行校验逻辑。 - **定义input视图**:如果校验失败,可以指定返回一个特定的视图供用户修正错误。 - **用Struts2标签...

    java web技术开发大全(最全最新)

    4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 4.2.5 实例...

    java ee应用技术知识要点.doc

    - 依赖注入可以通过手工装配(直接在代码中创建和关联对象)或自动装配(如Spring框架的@Autowired注解)来实现。 8. **AOP实现**: - JDK动态代理和CGLib动态代理是Spring AOP实现的基础,用于实现方法拦截。 9...

    java web开发技术大全

    4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 ...

    JEECG代码生成器[J2EE Code Generation]

    JEECG代码生成器是一款针对J2EE开发者的高效开发工具,旨在通过自动化的方式解决传统手工编码中的重复性劳动问题,提升开发效率与代码质量。它能够有效整合并管理各个孤立的信息系统,形成统一的技术栈与开发规范,...

    JEECG开发指南

    3. **查询SQL过滤器**:提供动态生成查询SQL的能力,无需编写后端代码,仅需在页面追加查询字段即可实现复杂查询功能。 4. **页面校验自动生成**:集成EasyUI的校验机制,自动生成各类输入验证,如必填项检查、数字...

    WEB UI框架的成熟引领新的开发模式 JEECG(J2EE Code Generation)

    4. 页面校验器:利用EasyUI的页面校验机制,实现前端页面字段的校验功能。 5. 常用共通封装:包括数据字典、邮件发送、定时任务、短信接口以及Freemarker模板工具等,这些工具类的封装使得开发人员可以更加专注于...

    JAVA各种系统框架图简介.doc

    它需要程序员自己写 SQL 语句,不像 Hibernate 那样是完全面向对象的、自动化的,iBATIS 是半自动化的,通过表和对象的映射以及手工书写的 SQL 语句,能够实现比 Hibernate 等更高的查询效率。 iBATIS 的优点包括:...

    JEECG 开发指南.pdf

    JEECG采用了成熟的SSH2框架(Struts2 + Spring3 + Hibernate4),易于掌握,对新手友好。代码生成器的设计具有高度的灵活性,便于进行二次开发,降低了对外部依赖的需求,增强了框架的可扩展性。 **2. 高效开发** ...

    超级有影响力霸气的Java面试题大全文档

    多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。 5、String是最基本的数据类型吗?  基本数据类型包括byte、int、char、long、float、double、boolean和short。  java....

Global site tag (gtag.js) - Google Analytics