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。
分享到:
相关推荐
- **Interceptor**: 拦截器是Struts2中的一个强大特性,它们在Action执行前后按顺序执行,用于处理通用任务,如权限检查、日志记录、事务管理等。开发者可以通过实现`com.opensymphony.xwork2.interceptor栈...
3. **强大的拦截器(Interceptor)机制**:拦截器是Struts2处理请求的关键部分,它们按照预定义的顺序执行,用于处理如验证、日志、事务等通用任务。例如,`params`拦截器会自动将请求参数绑定到Action的属性上。 4...
Struts2.1.8是Java企业级开发中常用的一个MVC框架,属于J2EE平台的重要组成部分。SSH框架,即Struts2、Spring和Hibernate的组合,是Java Web开发的经典三大框架,它们协同工作,提供了高效且灵活的开发解决方案。 ...
2. **拦截器机制**:拦截器是Struts2中的核心组件,它们按照预定义的顺序在Action执行前和执行后执行,提供了如日志、权限验证、事务处理等通用功能的实现。 3. **强大的插件系统**:Struts2拥有丰富的插件库,如...
- **InterceptorStack**:管理拦截器链的执行,每个拦截器的执行顺序由配置决定。 通过阅读源码,开发者不仅可以了解Struts2的架构设计,还能学习到如何优化性能,解决潜在的问题,甚至开发自己的拦截器和插件,...
它们按照预定义的顺序在Action执行前后执行,使得代码更易于维护和解耦。 3. **OGNL(Object-Graph Navigation Language)**:Struts 2使用OGNL作为默认的表达式语言,用于在Action和视图之间传递数据。开发者可以...
在“struts-2.x-docs”中,我们可以找到关于Struts 2.1.8版本的详细信息。这个版本发布于2009年,虽然现在已经有一些年代,但仍然有许多项目在使用,因此了解其文档对于维护和升级这些项目至关重要。 一、核心概念...
9. **Struts2.1.8**:这是Struts2的一个旧版本,每个版本都有其特性和改进。虽然已经过时,但了解其特性有助于理解Struts2的发展历程和新版本的变化。 以上就是关于Struts2的一些核心概念,学习这些内容能帮助...
在压缩包"Struts2.1.8ToFelix1.4"中,可能包含了Struts2版本1.8和Felix版本1.4的库文件和其他相关资源。这些文件可能包括Struts2的jar包、Felix的启动脚本、配置文件以及示例bundle,帮助开发者快速搭建一个使用...
Struts2 中的拦截器链(Interceptor Stack)是用于定义多个拦截器的执行顺序的组件。拦截器链可以通过 XML 配置文件方式来配置。下面是一个简单的拦截器链示例: ```xml ``` 在上面的示例中,我们定义了一个...
4. **拦截器(Interceptors)**:拦截器是Struts2的一个强大特性,它们按照预定义的顺序在Action调用前后执行,提供如日志、事务管理、权限验证等通用功能。通过组合不同的拦截器链,可以实现复杂的业务逻辑和功能...
1. **开发环境准备**:根据项目需求选择合适的JDK版本(例如JDK1.5)、Struts2.1.8、Hibernate3.3、Spring3.0等框架以及MySQL数据库等。 2. **项目创建与依赖库添加**: - 在MyEclipse中新建Web项目。 - 添加...