`

struts2,jquery,ajax实现无刷新登录

阅读更多

1. action:

/**
* 会员登录
*/
public String login() {
   try {
    Object object = memberinfoManager.validate(memberinfoPO);
    if (object == null) {
     message = "failure";
    } else {
     memberinfoPO = (MemberinfoPO) object;
     Map<String, Object> session = ServletActionContext.getContext()
       .getSession();
     session.put("memberinfoPO", memberinfoPO);

     // 登录成功以后显示信息
     String s = "";
     if (memberinfoPO.getSex().equals("男")) {
      s = "先生";
     } else {
      s = "女士";
     }
     message = memberinfoPO.getUsername()
       + s + "&nbsp;"
       + "欢迎您登录&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;<a href='#'>进入会员中心</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='javascript:logout()'>退出登录</a>";
    }
   } catch (Exception e) {
    logger.error(e.toString(), e);
   }
   return SUCCESS;
}

/**
* 退出登录
*/
public String loginOut() {
   try {
    ServletActionContext.getContext().getSession().remove("memberinfoPO");
   } catch (Exception e) {
    logger.error(e.toString(),e);
   }
   return SUCCESS;
}

 

2 struts.xml

<result type="json">
        <param name="excludeProperties">logger,memberinfoManager,organizationpos,menuUtil
        ,organizationListMap,typeop,typeDao</param>
    </result>

3.jsp

<s:if test="#session.memberinfoPO == null">
<div id="loginResult"></div>
<div id="loginForm">
   用户名 <input type="text" name="memberinfoPO.loginname" id="username" />   &nbsp; &nbsp; 密码:
     <input type="password" name="memberinfoPO.loginpass" id="password" />
    
     <input type="checkbox" name="checkbox" value="checkbox" />
     自动登录
     <input type="submit"   value="登录" onclick="userLogin()"/>
     &nbsp; &nbsp; 免费注册
     &nbsp; &nbsp; &nbsp; &nbsp; 欢迎登录交通物流信息平台
</div>
</s:if>
<s:else>
<s:set value="#session.memberinfoPO" var="member" />
<div id="loginResult">
   <s:property value="#member.username"/><s:if test='#member.sex == "男"'>先生</s:if><s:else>女士</s:else>
   欢迎您登录&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;<a href='#'>进入会员中心</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a href='javascript:logout()'>退出登录</a>
</div>
<div id="loginForm" style="display: none;">
   用户名 <input type="text" name="memberinfoPO.loginname" id="username" />   &nbsp; &nbsp; 密码:
     <input type="password" name="memberinfoPO.loginpass" id="password" />
    
     <input type="checkbox" name="checkbox" value="checkbox" />
     自动登录
     <input type="submit"   value="登录" onclick="userLogin()"/>
     &nbsp; &nbsp; 免费注册
     &nbsp; &nbsp; &nbsp; &nbsp; 欢迎登录交通物流信息平台
</div>
</s:else>

4.js

function userLogin() {
var username = $("#username").val();
var password = $("#password").val();
if (username == "" || username == null) {
   alert("请输入用户名!");
} else if (password == "" || password == null) {
   alert("请输入密码!");
} else {
   $.ajax( {
    url :"memberinfo/memberinfo_login",
    type :"post",
    dataType :"json",
    data :"memberinfoPO.loginname=" + username
      + "&memberinfoPO.loginpass=" + password,
    timeout :20000,// 设置请求超时时间(毫秒)。
    error : function() {// 请求失败时调用函数。
     $("#loginResult").html("请求失败!");
    },
    success :callbackLogin
   });
}
}
function callbackLogin(json) {
$("#loginForm").hide();
if (json.message == 'failure') {
   $("#loginResult").html("用户名或密码错误!<a href='javascript:loginAgain()'>请重新登录</a>");
   $("#loginResult").show();
} else {
   alert("登录成功!");
   $("#loginResult").html(json.message);
   $("#loginResult").show();
}
}
function loginAgain() {
$("#loginResult").hide();
$("#loginForm").show();
}
function logout() {
$.ajax( {
   url :"memberinfo/memberinfo_loginOut",
   type :"post",
   dataType :"json",
   timeout :20000,// 设置请求超时时间(毫秒)。
   error : function() {// 请求失败时调用函数。
    $("#loginResult").html("请求失败!");
   },
   success :callbackLoginOut
});
}
function callbackLoginOut() {
$("#loginResult").hide();
$("#loginForm").show();
}

5,

将jquery.js,json-lib-2.1.jar,struts2-json-plugin-2.1.8.1.jar

分享到:
评论

相关推荐

    Struts2 Jquery 实现Ajax无刷新验证用户名是否存在

    Struts2和jQuery是两种非常流行的Java Web开发技术,它们结合使用可以实现高效、动态的用户界面。在本示例中,我们将探讨如何利用这两者来实现Ajax无刷新验证,即在用户输入用户名时,后台实时检查该用户名是否已...

    struts2+ajax实现无刷新登录

    在这个"struts2+ajax实现无刷新登录"的项目中,我们首先会涉及到Struts2的基本配置。在Struts2中,你需要创建一个配置文件(如struts.xml),在这里定义Action类以及它们与URL的映射关系。Action类是处理用户请求的...

    Struts2+Jquery+Ajax

    在Struts2中,Jquery可以与Ajax结合使用,实现页面的无刷新更新。 Ajax(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,无需整个页面刷新,提高了用户体验。在Struts2框架下,我们可以使用...

    关于Struts2与Jquery实现无刷新分页的不解问题

    在本文中,我们将探讨如何在Struts2框架下利用jQuery实现无刷新分页,解决描述中提到的问题。 首先,让我们了解无刷新分页的基本概念。无刷新分页是指用户在浏览页面内容时,无需手动刷新整个页面即可切换到不同的...

    struts+jquery+ajax无刷新验证用户名是否存在

    2. **Ajax请求**:使用jQuery的$.ajax()方法,设置URL为服务器端的验证接口,通常是一个Struts Action。请求类型(type)设为"POST"或"GET",根据服务器端的需求。将输入框中的用户名值作为数据(data)发送到服务器...

    Jquery struts2 json 实现ajax

    综上所述,通过jQuery的Ajax功能与Struts2的JSON支持相结合,我们可以实现前后端无刷新的数据交互,提升Web应用的响应速度和用户体验。在实际开发中,要灵活运用这些技术,并注意安全性和性能优化。

    jQuery+Struts+Ajax无刷新分页

    - **视图**:返回的JSON数据被jQuery解析,并动态插入到页面中,实现无刷新的效果。 ### 3. Ajax分页原理 Ajax分页的基本流程如下: 1. 用户点击分页按钮,触发前端的jQuery事件。 2. 使用jQuery的Ajax方法发送...

    Struts2+Ajax实现的用户登录

    Struts2提供了控制流程,Ajax实现了无刷新的用户交互,Sprint协助管理应用程序组件,而Hibernate则简化了数据库操作。理解并掌握这些技术对于Java Web开发者来说至关重要,因为它们构成了现代企业级应用的基础架构。

    struts2+ajax+jquery

    Struts2是一个流行的Java web...通过Struts2处理业务逻辑和控制流程,jQuery简化前端JavaScript代码,而Ajax则实现了无刷新的数据交换,提高了用户体验。学习并熟练掌握这些技术,对于提升Java Web开发技能大有裨益。

    struts2的Ajax实现注册验证

    总的来说,Struts2和Ajax的结合使用使得Web应用能够提供更快速、更直观的用户交互,而这个代码和jar包组合可能就是实现这一目标的一个实例。通过阅读提供的文档和使用示例,你可以深入了解并实践这一技术,从而提升...

    struts2+json+jquery实现ajax数据的存取

    "Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...

    Struts2+jQuery(不用JSON)实现局部刷新

    在这个“Struts2+jQuery实现局部刷新”的主题中,我们将探讨如何利用这两者的优势来实现页面的无刷新更新。 1. **Struts2框架介绍**: Struts2是一个基于MVC设计模式的Java Web框架,它提供了良好的结构和可扩展性...

    Struts2整合jQuery实现Ajax功能

    Struts2 框架与 jQuery 的整合使得在 Java Web 应用中实现 AJAX 功能变得更加便捷高效。AJAX(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,提升用户体验,无需刷新整个页面即可更新部分内容...

    struts2+jquery实现ajax

    在本篇文章中,我们将探讨如何结合Struts2和jQuery来实现Ajax功能,以创建更加动态和交互性的Web应用。 首先,我们需要理解Ajax的核心概念。Ajax,即Asynchronous JavaScript and XML,是一种在不刷新整个页面的...

    Struts_jQueryAjax

    在这个名为"Struts_jQueryAjax"的示例中,我们看到Struts2与jQuery库以及Ajax技术的整合应用。jQuery是前端JavaScript库,它简化了DOM操作、事件处理和Ajax交互。Ajax(异步JavaScript和XML)允许我们在不刷新整个...

    Struts2+jQuery ajax的一个商品小系统

    这个商品小系统通过整合Struts2和jQuery,实现了前后端的分离,使得用户可以在不刷新整个页面的情况下完成商品操作,提升了交互性。在实际开发中,还可以考虑引入其他技术,如Bootstrap或AngularJS来增强界面表现,...

    使用struts2+JQuery实现的简单的ajax例子

    在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...

    Struts2整合jQuery实现Ajax功能.doc

    总结来说,Struts2整合jQuery实现Ajax功能,可以让前端和后端之间进行无缝通信,提供更加动态的用户体验。通过使用jQuery简化Ajax操作,开发者可以专注于业务逻辑而不是繁琐的异步请求处理。同时,Struts2的Action...

    struts2 + jquery +ajax 登录验证

    Struts2、jQuery和Ajax是Web开发中的三大关键技术,它们结合...以上就是Struts2、jQuery和Ajax在登录验证中的应用详解,它们共同构建了一个无刷新、响应快速的用户体验,同时也保证了后端的业务逻辑处理和数据安全。

    Struts2 jQuery Ajax 单页面增删改查,附带Mysql数据脚本

    Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们在构建动态、交互式的单页面应用程序(SPA)中发挥着重要作用。这个压缩包提供的资源显然是一个完整的示例项目,展示了如何利用这些技术进行数据库操作,如增...

Global site tag (gtag.js) - Google Analytics