struts2,jquery,ajax实现无刷新登录2010-05-14 19:271. 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 + " "
+ "欢迎您登录 | <a href='#'>进入会员中心</a> | <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" /> 密码:
<input type="password" name="memberinfoPO.loginpass" id="password" />
<input type="checkbox" name="checkbox" value="checkbox" />
自动登录
<input type="submit" value="登录" onclick="userLogin()"/>
免费注册
欢迎登录交通物流信息平台
</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>
欢迎您登录 | <a href='#'>进入会员中心</a> | <a href='javascript:logout()'>退出登录</a>
</div>
<div id="loginForm" style="display: none;">
用户名 <input type="text" name="memberinfoPO.loginname" id="username" /> 密码:
<input type="password" name="memberinfoPO.loginpass" id="password" />
<input type="checkbox" name="checkbox" value="checkbox" />
自动登录
<input type="submit" value="登录" onclick="userLogin()"/>
免费注册
欢迎登录交通物流信息平台
</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是两种非常流行的Java Web开发技术,它们结合使用可以实现高效、动态的用户界面。在本示例中,我们将探讨如何利用这两者来实现Ajax无刷新验证,即在用户输入用户名时,后台实时检查该用户名是否已...
在这个"struts2+ajax实现无刷新登录"的项目中,我们首先会涉及到Struts2的基本配置。在Struts2中,你需要创建一个配置文件(如struts.xml),在这里定义Action类以及它们与URL的映射关系。Action类是处理用户请求的...
在Struts2中,Jquery可以与Ajax结合使用,实现页面的无刷新更新。 Ajax(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,无需整个页面刷新,提高了用户体验。在Struts2框架下,我们可以使用...
在本文中,我们将探讨如何在Struts2框架下利用jQuery实现无刷新分页,解决描述中提到的问题。 首先,让我们了解无刷新分页的基本概念。无刷新分页是指用户在浏览页面内容时,无需手动刷新整个页面即可切换到不同的...
2. **Ajax请求**:使用jQuery的$.ajax()方法,设置URL为服务器端的验证接口,通常是一个Struts Action。请求类型(type)设为"POST"或"GET",根据服务器端的需求。将输入框中的用户名值作为数据(data)发送到服务器...
综上所述,通过jQuery的Ajax功能与Struts2的JSON支持相结合,我们可以实现前后端无刷新的数据交互,提升Web应用的响应速度和用户体验。在实际开发中,要灵活运用这些技术,并注意安全性和性能优化。
- **视图**:返回的JSON数据被jQuery解析,并动态插入到页面中,实现无刷新的效果。 ### 3. Ajax分页原理 Ajax分页的基本流程如下: 1. 用户点击分页按钮,触发前端的jQuery事件。 2. 使用jQuery的Ajax方法发送...
Struts2提供了控制流程,Ajax实现了无刷新的用户交互,Sprint协助管理应用程序组件,而Hibernate则简化了数据库操作。理解并掌握这些技术对于Java Web开发者来说至关重要,因为它们构成了现代企业级应用的基础架构。
Struts2是一个流行的Java web...通过Struts2处理业务逻辑和控制流程,jQuery简化前端JavaScript代码,而Ajax则实现了无刷新的数据交换,提高了用户体验。学习并熟练掌握这些技术,对于提升Java Web开发技能大有裨益。
总的来说,Struts2和Ajax的结合使用使得Web应用能够提供更快速、更直观的用户交互,而这个代码和jar包组合可能就是实现这一目标的一个实例。通过阅读提供的文档和使用示例,你可以深入了解并实践这一技术,从而提升...
"Struts2+JSON+jQuery实现Ajax数据的存取"就是一个典型的示例,它结合了强大的MVC框架Struts2、轻量级的数据交换格式JSON以及高效的前端库jQuery,以实现网页上的无刷新数据交互。下面将详细介绍这三个技术及其在...
在这个“Struts2+jQuery实现局部刷新”的主题中,我们将探讨如何利用这两者的优势来实现页面的无刷新更新。 1. **Struts2框架介绍**: Struts2是一个基于MVC设计模式的Java Web框架,它提供了良好的结构和可扩展性...
Struts2 框架与 jQuery 的整合使得在 Java Web 应用中实现 AJAX 功能变得更加便捷高效。AJAX(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,提升用户体验,无需刷新整个页面即可更新部分内容...
在本篇文章中,我们将探讨如何结合Struts2和jQuery来实现Ajax功能,以创建更加动态和交互性的Web应用。 首先,我们需要理解Ajax的核心概念。Ajax,即Asynchronous JavaScript and XML,是一种在不刷新整个页面的...
在这个名为"Struts_jQueryAjax"的示例中,我们看到Struts2与jQuery库以及Ajax技术的整合应用。jQuery是前端JavaScript库,它简化了DOM操作、事件处理和Ajax交互。Ajax(异步JavaScript和XML)允许我们在不刷新整个...
这个商品小系统通过整合Struts2和jQuery,实现了前后端的分离,使得用户可以在不刷新整个页面的情况下完成商品操作,提升了交互性。在实际开发中,还可以考虑引入其他技术,如Bootstrap或AngularJS来增强界面表现,...
在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...
总结来说,Struts2整合jQuery实现Ajax功能,可以让前端和后端之间进行无缝通信,提供更加动态的用户体验。通过使用jQuery简化Ajax操作,开发者可以专注于业务逻辑而不是繁琐的异步请求处理。同时,Struts2的Action...
Struts2、jQuery和Ajax是Web开发中的三大关键技术,它们结合...以上就是Struts2、jQuery和Ajax在登录验证中的应用详解,它们共同构建了一个无刷新、响应快速的用户体验,同时也保证了后端的业务逻辑处理和数据安全。
Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们在构建动态、交互式的单页面应用程序(SPA)中发挥着重要作用。这个压缩包提供的资源显然是一个完整的示例项目,展示了如何利用这些技术进行数据库操作,如增...