快速业务通道

Struts 2.1.6精简实例系列教程(2):用户登录模块的实现 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
on类:loginAction.java,代码如下:

package cn.simple.action; import org.apache.struts2.convention.annotation.Result; import org.apache.struts2.convention.annotation.Results; import com.opensymphony.xwork2.ActionSupport; @Results({     @Result(name="success", location="admin/index.action", type="redirect"),     @Result(name="input", location="loginform.jsp", type="dispatcher") }) public class LoginAction extends ActionSupport {     private String loginName;     private String password;     @Override     public String execute() throws Exception {         return SUCCESS;     }     @Override     public void validate() {         if( ! "simple".equals(loginName)){             addFieldError("loginName", "登录名不正确!");         }else if(! "simple".equals(password)){             addFieldError("password", "密码不正确!");         }     }     //*******Getter和Setter方法***********//     public String getLoginName() {         return loginName;     }     public void setLoginName(String loginName) {         this.loginName = loginName;     }     public String getPassword() {         return password;     }     public void setPassword(String password) {         this.password = password;     } }

解释一下这个类吧:

execute 这个方法是重写了父类ActionSupport的方法,是Action默认会执行的方法,即访问…/login.action或者…/login,它默认会执行这个方法。

validate 在执行execute方法之前,它会先执行validate这个方法,检查登录框是否输入正确,这个方法也是重写了父类的validate方法。

getter和setter,有了setter方法,才能使action能拿到上一个JSP页面传过来的Request域的数据;有了getter方法,下一个转发(dispatcher)过去的页面才能拿到此Action的Request域的数据。

执行过程是这样:表单提交给LoginAction,LoginAction先执行validate方法,检验loginName和password是否符合要求,如果不符合,就会addFieldError (把错误信息放到Field栈里),如果Field栈里有错误信息的话,它就不会再执行execute方法,直接转发(Dispatcher)到INPUT即“input”所指定的错误处理页面,这里为location="loginform.jsp",即让它返回到表单登录页去,如果刚才validate方法中验证正确,即Field栈中没有错误信息,就会执行execute方法。在这里execute返回SUCCESS,即“success”,根据Result注解,就会重定向到admin/index.action这个action。

返回SUCCESS重定向到的后台主页,其实简单,admin/index.jsp,代码很简单,就在HTML中显示一句“登录成功”,代码略。

这些的目录结构如下:

Struts 2.1.6精简实例系列教程(2):用户登录模块的实现(3)

时间:2011-01-20 BlogJava 心梦帆影

运行一下吧:

一点提醒:本项目网页的排版以精简为主,在真实的网站开发中,建议用Dreamweaver可视化排版,再作必要的修改和嵌入必要的动态标签。

“Struts 2.1.6 精简实例系列教程(2):用户登录模块的实现” 讲解就到此,你也试一下吧,好,敬请关注下文!

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号