`
ynp
  • 浏览: 437926 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2.1.8 执行顺序

阅读更多
public class LoginAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String loginname;
private String loginpwd;

  @Override
public String execute() {
   return "input";
}


public String login(){
  List<Customer> customers=customerService.getAllCustomer();
  System.out.println("customers:"+customers.size());
  ActionContext.getContext().put("CUSTOMERS", customers);

  return SUCCESS;
}

   @Override
   public void validate() {
         if( ! "admin".equals(getLoginname())){
             addFieldError("loginName", "登录名不正确!");
         }else if(! "pwd".equals(getLoginpwd())){
             addFieldError("password", "密码不正确!");
         }
     }
  
   public String getLoginname() {
   return loginname;
  }

  public void setLoginname(String loginname) {
   this.loginname = loginname;
  }

  public String getLoginpwd() {
   return loginpwd;
  }

  public void setLoginpwd(String loginpwd) {
   this.loginpwd = loginpwd;
  }

}

http://www.cnblogs.com/tyler2000/archive/2011/01/07/Struts2.html



执行过程是这样:

表单提交给LoginAction,LoginAction先执行validate方法,检验loginName和password是否符合要求,

  如果不符合,就会addFieldError (把错误信息放到Field栈里),

   如果Field栈里有错误信息的话,它就不会再执行execute方法,直接转发(Dispatcher)到INPUT即“input”所指定的错误处理页面, 这里为location="login.jsp",即让它返回到表单登录页去.

如果刚才validate方法中验证正确,即Field栈中没有错误信息,就会执行execute方法。在这里execute返回SUCCESS。

分享到:
评论

相关推荐

    struts2.1.8 struts2源码 Eclipse关联这个可以

    - **Interceptor**: 拦截器是Struts2中的一个强大特性,它们在Action执行前后按顺序执行,用于处理通用任务,如权限检查、日志记录、事务管理等。开发者可以通过实现`com.opensymphony.xwork2.interceptor栈...

    Struts2.1.8培训资料(推荐)

    3. **强大的拦截器(Interceptor)机制**:拦截器是Struts2处理请求的关键部分,它们按照预定义的顺序执行,用于处理如验证、日志、事务等通用任务。例如,`params`拦截器会自动将请求参数绑定到Action的属性上。 4...

    J2EE平台用jar包之struts2.1.8

    Struts2.1.8是Java企业级开发中常用的一个MVC框架,属于J2EE平台的重要组成部分。SSH框架,即Struts2、Spring和Hibernate的组合,是Java Web开发的经典三大框架,它们协同工作,提供了高效且灵活的开发解决方案。 ...

    struts-2.1.8-apps 所有最新的Struts2.x开发应用

    2. **拦截器机制**:拦截器是Struts2中的核心组件,它们按照预定义的顺序在Action执行前和执行后执行,提供了如日志、权限验证、事务处理等通用功能的实现。 3. **强大的插件系统**:Struts2拥有丰富的插件库,如...

    struts2源码最新

    - **InterceptorStack**:管理拦截器链的执行,每个拦截器的执行顺序由配置决定。 通过阅读源码,开发者不仅可以了解Struts2的架构设计,还能学习到如何优化性能,解决潜在的问题,甚至开发自己的拦截器和插件,...

    struts 2 自选包

    它们按照预定义的顺序在Action执行前后执行,使得代码更易于维护和解耦。 3. **OGNL(Object-Graph Navigation Language)**:Struts 2使用OGNL作为默认的表达式语言,用于在Action和视图之间传递数据。开发者可以...

    struts 2.x docs 所有最新开发文档

    在“struts-2.x-docs”中,我们可以找到关于Struts 2.1.8版本的详细信息。这个版本发布于2009年,虽然现在已经有一些年代,但仍然有许多项目在使用,因此了解其文档对于维护和升级这些项目至关重要。 一、核心概念...

    struts2学习资料下二

    9. **Struts2.1.8**:这是Struts2的一个旧版本,每个版本都有其特性和改进。虽然已经过时,但了解其特性有助于理解Struts2的发展历程和新版本的变化。 以上就是关于Struts2的一些核心概念,学习这些内容能帮助...

    Felix 和 Struts2 开发 Web 应用

    在压缩包"Struts2.1.8ToFelix1.4"中,可能包含了Struts2版本1.8和Felix版本1.4的库文件和其他相关资源。这些文件可能包括Struts2的jar包、Felix的启动脚本、配置文件以及示例bundle,帮助开发者快速搭建一个使用...

    struts2注解配置Action及拦截器几种不同方式写法对应的路径指向.docx

    Struts2 中的拦截器链(Interceptor Stack)是用于定义多个拦截器的执行顺序的组件。拦截器链可以通过 XML 配置文件方式来配置。下面是一个简单的拦截器链示例: ```xml ``` 在上面的示例中,我们定义了一个...

    struts2框架必备

    4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,它们按照预定义的顺序在Action调用前后执行,提供如日志、事务管理、权限验证等通用功能。通过组合不同的拦截器链,可以实现复杂的业务逻辑和功能...

    使用Annotation并对DAO层封装具有分页功能的S2SH整合实例_好资源0分送

    1. **开发环境准备**:根据项目需求选择合适的JDK版本(例如JDK1.5)、Struts2.1.8、Hibernate3.3、Spring3.0等框架以及MySQL数据库等。 2. **项目创建与依赖库添加**: - 在MyEclipse中新建Web项目。 - 添加...

Global site tag (gtag.js) - Google Analytics