之前一直害怕SSH~感觉条条框框的东西很难学习似的,最多用那么一下子的hibernate来做数据库操作,前几天才接触的Struts2,突然又感觉这家伙真的很强大,尝试着用一下子,发现比jsp+servlet真的快速简便得多,于是赶紧上贴分享一下学到的东西。
实现的 功能:异步提交注销登录
用到的技术:struts2 json jquery
过程:
LogOutActio代码:
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LogOutAction extends ActionSupport {
private Integer uid;
private Map<String, Object> msg = new HashMap<String, Object>();
public Map<String, Object> getMsg() {
return msg;
}
public void setMsg(Map<String, Object> msg) {
this.msg = msg;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
}
@Override
public String execute() throws Exception {
Map<String, Object> sessionMap = ActionContext.getContext()
.getSession();
Integer id=(Integer) sessionMap.get("id");
if (id == uid && uid!=null) {
sessionMap.remove("id");
sessionMap.clear();
msg.put("s", 1);
}
return SUCCESS;
}
}
struts.xml代码:
<package name="default" extends="json-default" namespace="/">
<action name="LogOut" class="com.blog.user.Action.LogOutAction">
<result type="json">
<param name="root">msg</param>
</result>
</action>
jquery代码:
$(function() {
$("#logOut").click(function() {
var uid = $("#uid").val();
$.ajax({
type : "POST",
url : "LogOut.action",
data : {
uid : uid
},
dataType : 'json',
success : function(data) {
//alert(JSON.stringify(data.s));
if (data.s == 1) {
alert("注销成功,返回登陆页面");
location.href = "/BlogSystem01/login.jsp";
} else {
alert("操作失败,请重新登陆!");
location.href = "/BlogSystem01/login.jsp";
}
}
});
}
);
});
jsp代码:
<a href="#" id="logOut>注销</a>
<input type="hidden" id="uid" value="<s:property value='#session.id' />">
关键点:
1)Action里需要添加一个msg的属性。通过这个属性把信息回传给struts,msg.put("s", 1);就是保存一个map类型的信息。
2)struts的配置:
--首先需要导入struts2-json-plugin-2.2.3.jar。
--然后package的属性:extends="json-default" 。
--action里没写name=“success”时,默认就是success。<result type="json">
--result里 <param name="root">msg</param>中name=“root”是json的根,msg是action里回传数据的那个 属性。
--在js里的DataType=“json”。function里的data就是struts.xml里的msg的数据。所以要访问msg里的“s”,则要data.s!
至此!有不当之处,万求提出更改意见~~
感激不尽!
相关推荐
在Struts2中,Jquery可以与Ajax结合使用,实现页面的无刷新更新。 Ajax(Asynchronous JavaScript and XML)技术允许前端与后台进行异步通信,无需整个页面刷新,提高了用户体验。在Struts2框架下,我们可以使用...
Struts2、jQuery和Ajax是Web开发中的三个关键组件,它们共同构成了文件异步上传的基础框架。这个项目是在MyEclipse环境下实现的一个简单的文件上传功能,让我们深入了解一下这些技术及其在文件上传中的应用。 首先...
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
Struts2和jQuery是两种非常流行的Java Web开发技术,它们在构建动态、交互式的Web应用程序中发挥着重要作用。Struts2作为一个MVC(Model-View-Controller)框架,提供了强大的控制层逻辑,而jQuery则是一种高效的...
下面是一个具体的示例,展示了如何在Struts2中使用jQuery实现Ajax功能。假设我们需要在用户登录页面中验证用户输入的公司标识码是否有效。 ##### 4.1 Login.jsp页面 ```html <!DOCTYPE html> ...
在这个例子中,我们使用jQuery的Ajax函数与Struts2进行交互。jQuery的$.ajax()方法可以创建一个Ajax请求,其参数包括URL、请求类型(GET或POST)、数据、回调函数等。例如: ```javascript $.ajax({ url: "action...
在Struts2中整合jQuery,可以创建更加流畅、高效的用户界面。 1. 引入jQuery到Struts2项目 要使用jQuery,首先需要将其下载并添加到项目的资源目录下。通常,这涉及到将jQuery.js文件放置在项目的JavaScript库目录...
在本篇文章中,我们将探讨如何结合Struts2和jQuery来实现Ajax功能,以创建更加动态和交互性的Web应用。 首先,我们需要理解Ajax的核心概念。Ajax,即Asynchronous JavaScript and XML,是一种在不刷新整个页面的...
Struts2、jQuery和Ajax是Web开发中的三大关键技术,它们结合使用可以构建高效、动态且用户友好的登录验证系统。以下是对这些技术及其在登录验证中的应用的详细说明。 Struts2是一个基于MVC(Model-View-Controller...
标题 "Jquery struts2 json 实现ajax" 涉及到的是在Web开发中使用jQuery库与Struts2框架结合处理JSON数据的Ajax技术。这个主题主要关注如何通过前端的jQuery实现异步请求,与后端的Struts2框架进行交互,从而更新...
总结,Struts2和jQuery的Ajax JSON数据交换涉及以下几个关键步骤:配置Struts2的JSON插件,编写返回JSON数据的Action,使用jQuery发起Ajax请求并处理返回的JSON数据。通过这种方式,可以实现客户端与服务器之间的...
在Struts2中,我们可以通过添加JSON插件来支持JSON响应。例如,可以在struts.xml配置文件中添加以下配置: ```xml <package name="default" namespace="/" extends="struts-default"> ...
在Web开发中,jQuery的AJAX功能经常被用于与服务器进行异步数据交换,而Struts2作为一款流行的Java Web框架,提供了处理前端请求的能力。本文将深入探讨如何使用jQuery的AJAX方法发送JSON对象数组到Struts2的Action...
在Struts2中,开发者可以定义Action类,每个Action对应一个特定的用户请求,处理完成后返回结果到视图层。 **jQuery** 是一个流行的JavaScript库,简化了DOM操作、事件处理、动画和Ajax交互。在本案例中,jQuery...
在Struts2中,我们可以使用JSON插件来方便地序列化和反序列化Java对象为JSON格式,从而实现在Ajax请求中发送和接收数据。 **3. jQuery库** jQuery是一个高效、简洁的JavaScript库,它简化了HTML文档遍历、事件处理...
在这个简单的Ajax例子中,我们将探讨如何整合Struts2和jQuery来实现页面无刷新的数据更新。 首先,我们需要在项目中引入Struts2和jQuery的相关依赖。Struts2通常通过Maven或Gradle添加依赖库,包括核心库、struts2-...
在Struts2中使用Ajax,可以实现页面的部分更新,提高用户体验,而无需每次操作都刷新整个页面。下面将详细介绍如何在Struts2中集成和使用Ajax技术。 1. **Ajax简介**: Ajax(Asynchronous JavaScript and XML)是...
struts2+jquery+ajax实现验证功能
Java中:struts2+jQuery+ajax调用(引用) 代码,解析,源码,demo,实例,分析