之前一直害怕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!
至此!有不当之处,万求提出更改意见~~
感激不尽!
相关推荐
MVC Struts2框架搭建,Jquery Ajax异步数据交互,内涵需要的jar包及ppt讲解
Struts2+jQuery ajax的一个商品小系统Struts2+jQuery ajax的一个商品小系统
struts2下通过jquery的ajax从后台传json对象并展示在web页面上的一个小例子,所需的jar包请自己下载否则无法运行,所需的包包括struts的必须包,json的支持包和struts对json的支持包
struts2+jquery+ajax实现了文件的异步上传,的MyEclipse编写的简单项目
struts2使用jquery整合ajax、json用户登录实例源码
Struts2整合jQuery实现Ajax功能
struts2 + jquery +ajax 登录验证
这圣思园张老师的一个上课演示文件,讲的是struts2+jquery+Ajax实现异步交互的简单例子。
struts2+jquery+ajax实现验证功能
Struts2 与Jquery Ajax的json数据交换的典型范例
Struts2整合jQuery实现Ajax功能 和大多数喜欢用PHP做jQuery.ajax()后台不一样,我偏偏 喜欢 Java Struts2 Action。 欢迎您的下载完善。一同进步。
Java中:struts2+jQuery+ajax调用(引用) 代码,解析,源码,demo,实例,分析
struts2+json+jquery实现ajax数据的存取
Struts2 Jquery ajax Json实现的一个完整案例
这个struts2 实例是通过用js的一个框架jquery来实现的ajax,jquery真的不错,其中的数据传输格式用的时json,用了一个json_lib的jar包,所有所需的包都在了,下载后就能运行,对于初学struts2与ajax的朋友很有点帮助...
Struts2 jQuery Ajax 单页面增删改查,附带Mysql数据脚本!
struts2+jquery+ajax实现头像上传切割图片,稍事改动即可用于具体项目
Struts2整合jQuery实现Ajax功能_demo