ajax异步处理时,如何在JS中获取从Servlet或者Action中session,request
ssh项目中,我需要登陆某个页面(如a.jsp),通过onblur()鼠标失去焦点后来触发js函数(函数是ajax请求)请求到相应的action,处理完成后将数据存放到session对象里面,然后在a.jsp中用el表达式获取想要的数据。可是问题来了,不知道为什么在打开浏览器第一次登录a页面时,a页面不会显示想要的数据,刷新后就有数据了,之后也正常。
后来查询了各种博客,各种网上的一些说法,最后总结出了自己的一套思路,仅供参考.
以下是在Action中 根据用户id查询出用户信息
........ 一些属性省了......
public String checkUser() throws Exception{
HttpServletResponse response=ServletActionContext.getResponse();
PrintWriter out = response.getWriter();
Map<String, Object> session = ActionContext.getContext().getSession();
if(session.get("user")!=null){
session.clear();
}
Users user= usersDAO.findById(users.getUserId());
if(user==null){
out.println(1);
}
else{
session.put("user", user);
out.println(2);
}
//很重要,如果忘记不写,在ajax返回语句中会执行最后一个语句
out.flush();
out.close();
return "borrowBook";
}
..........struts2的语句在这里也省了.....
<script>
function checkUser(txt) {
if(txt.value=="") {alert("借书者的编号必须填写!");}
else{
var userid=$("#userId").val();
$.post("/LibrarySysterm/u_checkUser.action", {
userId:userid
},function(data){
debugger;
if(data==1){
alert("此用户不存在,需要输入相关信息");
}else{
$("#userId").val("${user.userId}");
$("#userName").val("${user.userName}");
$("#tel").val("${user.tel}");
window.location.href="borrowBook.jsp";//此句话是让这个页面执行刷新的语句,这时候如果输入了一个userId后就会自动填充剩下的空白信息
}
});
}
}
</script>
jsp里的form表单里的语句在这里也省了.....
最新文章
- [Docker] docker 基础学习笔记1(共6篇)
- js双层动画幻灯
- 详细地jsoncpp编译方法 和 vs2010中导入第三方库的方法
- T-SQL备忘(5):查看执行计划
- 基于jQuery右侧带缩略图导航的焦点图
- npm不能安装任何包,报错:npm WARN onload-script failed to require onload script npm-autoinit/autoinit及解决方法
- poj 1269 水题
- JQuery.ajax一解
- 梳理一下重装sql2008R2sp1步骤
- Cocos2d-x 3.0final 终结者系列教程04-引擎架构分析
- SQLServer 理解copyonly备份操作
- jmeter日记
- [Spark内核] 第40课:CacheManager彻底解密:CacheManager运行原理流程图和源码详解
- bcrypt 安装不成功解决办法
- centos7 openfiles问题
- oracle 优化方法总结
- 译文——The habits of highly successful people
- Verilog对数据进行四舍五入(round)与饱和(saturation)截位
- hdu 1548 升降梯
- HTTP协议之chunk介绍
热门文章
- bug: 在使用HMSegmentedControl时,设置selectionIndicatorEdgeInsets对左右边界没有用
- ios推送:本地通知UILocalNotification
- JAVA_用Java来获取访问者真实的IP地址
- JDBC学习笔记1
- Spring MVC和Struts2的比较的优点
- java分享第五天(数组)
- 学习使用vim,熟悉Linux
- 测试的程序 test.php,保存放IIS的根目录下
- 【iCore3 双核心板_FPGA】实验二十三:使用JTAG UART终端打印信息
- 使用本地phpmyadmin管理远程数据库