`
guanjh
  • 浏览: 228896 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

基于Struts 2 Ajax实现的Login应用

    博客分类:
  • Java
阅读更多

Struts 2内嵌了Dojo工具包,实现对Ajax的支持。下面是一个用户名和密码都是Admin的Login应用。

 1、在struts.xml中加入一个Action mapping

xml 代码
  1. <action name="showAjaxLoginForm">  
  2.        <result>/pages/ajaxlogin.jspresult>  
  3. action>  
  4.   
  5. <action name="ajaxLogin" class="net.roseindia.Login">  
  6.        <result name="input">/pages/ajaxlogin.jspresult>  
  7.        <result name="error">/pages/ajaxlogin.jspresult>  
  8.        <result>/pages/ajaxloginsuccess.jspresult>  
  9. > 

 2、用Ajax编写一个Login页面ajaxlogin.jsp

 这个页面使用了 标签, 这个标签能通过Ajax tags载入页面内容。jsp页面还使用了标签,这个标签可以利用Ajax来更形页面元素和提交一个form。当出现错误是,和标签执行并显示错误信息。

xml 代码 
  1. <%@ taglib prefix="s" uri="/struts-tags"%>  
  2. <html>  
  3.   <head>  
  4.     <s:head theme="ajax" debug="true"/>  
  5.   head>  
  6.   <body>  
  7.     <s:div id="loginDiv" theme="ajax">  
  8.     <div style="width: 300px;border-style: solid">  
  9.       <s:form action="ajaxLogin"  validate="true">  
  10.         <tr>  
  11.           <td colspan="2">  
  12.             Login   
  13.           td>  
  14.         tr>  
  15.         <tr>  
  16.           <td colspan="2">  
  17.             <s:actionerror />  
  18.             <s:fielderror />  
  19.           td>  
  20.         tr>     
  21.           <s:textfield name="username" label="Login name"/>  
  22.           <s:password name="password" label="Password"/>  
  23.           <s:submit theme="ajax" targets="loginDiv" notifyTopics="/ajaxLogin"/>       
  24.       s:form>  
  25.     div>  
  26.     s:div>  
  27.   body>  
  28. html>   

 

 3、编写一个验证用户名和密码的Action类Login.java

如果验证成功返回SUCCESS,失败就返回ERROR

java 代码 
  1. package net.roseindia;   
  2.   
  3. import com.opensymphony.xwork2.ActionSupport;   
  4. import java.util.Date;   
  5.   
  6. /**  
  7.  * Validate a user login.  
  8.  */  
  9. public class Login extends ActionSupport {   
  10.   
  11.     public String execute() throws Exception {   
  12.         System.out.println("Validating login ... ...");   
  13.         System.out.println("User = " + getUsername());   
  14.         if (!getUsername().equals("Admin") || !getPassword().equals("Admin")) {   
  15.             System.out.println("Validating error ! User = " + getUsername());   
  16.             addActionError("Invalid user name or password! Please try again!");   
  17.             return ERROR;   
  18.         } else {   
  19.             System.out.println("Validating success !");   
  20.             return SUCCESS;   
  21.         }   
  22.     }   
  23.   
  24.     // ---- Username property ----   
  25.   
  26.     /**  
  27.      * Field to store User username. 
  28.      */  
  29.     private String username = null;   
  30.   
  31.     public String getUsername() {   
  32.         return username;   
  33.     }   
  34.   
  35.     public void setUsername(String value) {   
  36.         username = value;   
  37.     }   
  38.   
  39.     // ---- Username property ----   
  40.   
  41.     /**  
  42.      * Field to store User password. 
  43.      */  
  44.     private String password = null;   
  45.   
  46.     public String getPassword() {   
  47.         return password;   
  48.     }   
  49.   
  50.     public void setPassword(String value) {   
  51.         password = value;   
  52.     }   
  53.   
  54. }   

 4、编写一个登录成功页面ajaxloginsuccess.jsp

xml 代码
  1. <html>  
  2.   <head>  
  3.     <title>Login Successtitle>  
  4.   head>  
  5.   <body>  
  6.     <p align="center"><font color="#000080" size="5">Login Successful !font>p>  
  7.     <h1> Welcome to <%=request.getParameter("username")%>  h1>  
  8.   body>  
  9. html>   

5、访问下面连接 http://localhost:8080/s2ajax/showAjaxLoginForm.action

分享到:
评论
6 楼 细胞vs宇宙 2011-09-01  
   
5 楼 wuqiangjun_ql 2008-08-11  
   
4 楼 zenggang2008 2008-04-20  
谢谢了~~~~~~~~
3 楼 kyo100900 2007-10-17  
通过看你的代码,我感觉和普通的非Ajax没有什么区别啊?关键就是这一句吗:<s:div id="loginDiv" theme="ajax">   ???
2 楼 hanting99 2007-09-17  
国际化应当很简单了,,
1 楼 lijie250 2007-09-16  
错误信息国际化就更好了!

相关推荐

    struts2 spring2 hibernate3 ajax实现的一个注册登录实例

    演示功能包括: ...使用Struts2的JSON插件完成与Ajax的交互 实现校验用户名功能 压缩包中包括sql文件 修改reg_login\WEB-INF路径下的applicationContext.xml文件,将其中的数据库密码修改为你的数据库密码

    Struts 2.2.1的Ajax整合jQuery 1.4和Dojo 2.0框架的编程示例

    3、打开浏览器在地址栏输入:http://localhost:8080/Struts2Ajax/login.jsp后回车 4、如果一切正常,那么你会看“测试Ajax”按钮和Struts2的tabbedpanel标签 说明:Struts2天生成Spring整合的,所在“整容”之后,...

    漂亮登陆界面+Struts2 验证码 完整实现

    开发环境: eclipse Kepler JEE IDE + Tomcat v6.0 + Struts-2.3.15(最新版) 步骤: 1. 下载后解压,import to eclipse as a project. 2. 启动 Tomcat v6.0 3. 打开...

    Spring 2.0 + Struts 1.2 + Hibernate 3.2 + DWR 2.0 的JavaEE应用示例

    学习对象:熟悉JavaScript, 了解JSTL, servlet/JSP, Struts 1.2, Hibernate, Spring, Ajax技术。 该示例使用MyEclipse 5.5 IDE用来整合四个技术(Struts 1.2, Spring 2.0, Hibernate 3.2和Ajax技术)的轻量级的...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    12.6 整合Struts、Spring和Hibernate实现用户管理 12.6.1 Struts、Spring和Hibernate的整合方式 12.6.2 编写用户注册画面regedit.jsp 12.6.3 编写用户登录画面login.jsp 12.6.4 编写注册控制器RegeditAction.java ...

    struts自我学习过程程序以及说明

    struts和Ajax: (例子一) 载入了json包; strutsandajax包; 可以直接运行jsonplugsm.action,出现下载的, 可以加入 JsonPlugin.html LinkButton.jsp AutoComplate.jsp Tree.jsp (例子二) example2包 Treeone.jsp Ajax...

    基于JAVA的BBS论坛的设计与实现.doc

    基于JAVA的BBS论坛的设计与实现 本科毕业论文(设计) 题目:基于JAVA的BBS论坛系统的设计与实现 姓 名: 完圆圆 学 号: 1142151221 专 业: 计算机科学与技术 院 系: 信息工程学院 指导老师: 朱珍元 职称学历: ...

    当当网全套源码(附带邮箱验证功能)

    Struts2,JDBC(连接池),jQuery,Ajax 2)设计思想 MVC和分层设计思想 a.显示层:JSP组件(jQuery,Ajax) b.控制层:Struts2控制器组件、Action组件 c.业务层:Bean组件 d.数据访问层:DAO组件(JDBC) 4.数据库...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    SSH框架登录示例 同一账户只能一人登录

    2:给数据库添加online列 使用(数据库脚本包含在内)HashMap+HttpSessionListener, 对于非正常退出 可在 浏览器 unload 时 使用 AJAX 实现(简单的很,大家自己写吧)NOTE:解压缩后 文件夹内还有两个压缩包,压缩包...

    struts2+jquery组合验证注册用户是否存在

    注册界面 register.jsp ...&#37;... charset=UTF-8″%&gt; &lt;... &lt;head&gt; &lt;title&gt;.../title&gt; [removed] [removed] [removed] function findByName() { $.ajax( { url : ‘login!findByName’, data : { name : $

    JAVA上百实例源码以及开源项目源代码

    Java 源码包 Applet钢琴模拟程序java源码 ... ftpClient.login(user,pass); //在服务器上注册  InputStream is=ftpClient.list(); //得到服务器目录与文件列表输入流  StringBuffer info=new ...

    dangdang和smartstruts2.rar

    Struts2、JDBC+连接池(dbcp)、jQuery+Ajax、javamail、log4j、junit、MySQL 系统架构: 表现层:jQuery+Ajax、Struts2标签+OGNL 控制层:Struts2控制器,Action组件 业务层:JavaBean组件、javamail 数据访问层...

    SSH2项目(WeExam)源码

    2、修改src/jdbc.properties内的连接参数,及test/hibernate.cfg.xml(用于单元测试)的连接参数 3、打开一下连接初始化数据库:http://127.0.0.1:8080/WeExam/initialize 4、管理后台为:...

    网上商城需求报告

    Struts2、JDBC+连接池(dbcp)、jQuery+Ajax、javamail、log4j、junit、MySQL 系统架构: 表现层:jQuery+Ajax、Struts2标签+OGNL 控制层:Struts2控制器,Action组件 业务层:JavaBean组件、javamail 数据访问层...

    JSP课程设计:一个新闻发布的适时监测系统.rar

    整个程序是struts1.2的版本构架,数据库是mysql,用户名root,密码1234,希望这个程序可以为初学者提供帮助!  数据库文件就是那个sql文件,启动mysql后,导入这个sql文件就可以了。主页上的登陆是ajax的,下面...

    spring security 参考手册中文版

    24.2.2基于投票的AccessDecisionManager实现 192 RoleVoter 193 AuthenticatedVoter 194 自定义选民 194 24.3调用处理后 194 24.4分层角色 196 25.安全的对象实现 197 25.1 AOP联盟(MethodInvocation)安全拦截器 ...

    煤矿安全实时监控系统 (简单新闻发布系统).rar

    齐鹏的java信息发布系统(煤矿安全实时监控系统web)(struts1.2 mysql) 煤矿安全实时监控系统(简单新闻发布系统) 作者:齐鹏 这个程序是本人的毕业设计,主要功能是信息发布,留言本,信息分类。 主页上的登陆是...

Global site tag (gtag.js) - Google Analytics