首先说明一下,我现在做的项目中前台用到的是jqm,利用的ajax向后台传递数值,返回的是json格式的数据。为了使大家一目了然,我把重要的代码张贴出来吧,并且个别地方有注释!
前台页面:
<link rel="stylesheet"
href="${pageContext.request.contextPath }/js/jquery.mobile-1.0.1.min.css">
<script src="${pageContext.request.contextPath }/js/jquery-1.6.4.min.js"></script>
<script type="text/javascript">
$(function(){ //在页面加载后激活函数
$("#history").bind("click", function() { //为DOM对象中属性id="history"的元素绑定click事件,执行回调函数
$.ajax({
type:"post",//以post方式向后台提交数据
url:"${pageContext.request.contextPath}/lcecodelog/listL_cecodelog.action?uid=-6196080717979582463",//提交到后台的地址
data:{isAjax:true},//需要传递的数据 也可以这样写data:isAjax=true,username="Tom", 注意data是键值对应的数据
dataType:"json",//返回数据的格式是json
success:function(data){//后台代码执行成功后,执行的回调函数
console.log(data.list[0].exname);//在控制台上输出,可以测试一下是否返回正确数据.注意:这里的list是和后台中的放在data中的list一样的。
$.mobile.changePage("${pageContext.request.contextPath}/right/scancodehistory/listCodeHistory.jsp","slideleft", false, false);
//$.mobile.changePage()是jqm API的方法
}
});
});
});
</script>
<script
src="${pageContext.request.contextPath }/js/jquery.mobile-1.0.1.min.js"></script>
后台Action类:
//使用的是struts2,返回的是String类型的方法。
public String listL_cecodelog() {
//注意:isAjax()和printJSONData()都是我写好的封装类,在这里就直接拿过来调用了。
Long uid = getParameterLong("uid");// 从url中获取参数uid
List<L_cecodelog> list = lcecodelogDAO.ListL_cecodelog(uid);
try {
if(!isAjax()){//判断是不是ajax请求
return null;
}
JSONObject data = new JSONObject();
data.accumulate("list", list);//注意:这个list的名字和前台页面中list的名字需要一致。
setSession("list", list);//之所以把list放在session会话中是因为需要在另一个页面循环list输出结果。
printJSONData(data);
} catch (ServletException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
listCodeHistory.jsp中
//在这里可以循环放在session中的list
<c:forEach items="${list }" var="code" varStatus="index">
<li>
<a
href="${pageContext.request.contextPath}/lcecodelog/findT_exhibitByExid.action?exid=${code.exid}&id=${code.id}">${code.exid}
${code.exname}</a><span class="ui-li-count">${code.datetime}</span>
</li>
</c:forEach>
</body>
<%session.removeAttribute("list"); %>//为了信息安全,利用完session会话中的list之后,需要移除会话。
</html>
就这些了,希望能给大家一点小帮助吧!
分享到:
相关推荐
ajax传递list对象数组
ajax 动态传递页面, js 的ajax编写,使用id辨识传递对象
json2 ajax返回list处理 在jsp页面 遍历
利用ajax+jsp技术进行局部页面刷新
ajax+jsp 带参数的页面跳转。
2.1 JSP页面基本结构 JSP+AJAX2.1 JSP页面基本结构 JSP+AJAX2.1 JSP页面基本结构 JSP+AJAX2.1 JSP页面基本结构 JSP+AJAX
AJAX于jsp结合的一个例子。里面有AJAX和jsp,AJAX和Java,和AJAX,Java ,aql 这三个例子,并且解决乱码的一个方法。
这是一个采用ajax制作的jsp页面表格,表格内容是从数据库调出,更新表格内容不会引起页面的刷新。代码简单易懂。特供初学着参考。
考察课作业,供大家参考,利用ajax和jsp,JavaScript实现的注册系统
ajax 动态传递页面, js 的ajax编写,使用id辨识传递对象 例如 : 现在有个需求,一个页面,分成左右两块,左侧导航菜单有个用户列表信息功能按钮,想在右侧无刷新情况下加载用户数据,列表显示。 我们定义两个jsp ...
在jsp页面中显示树状结构功能的JavaScript
《Ajax+JSP网站开发从入门到精通》的源代码,全书共分为16章,包括JSP的基础知识、JSP访问外部数据、JSP高级技术、Ajax概述、Ajax相关技术、Ajax开发基础、Ajax开发模式、Ajax框架、Ajax常用技巧。本书最后介绍了6个...
然后就去了百度一下,说的是将struts2的返回值设为null(return null),这是因为struts2返回的是一个页面。如果在action中只进行业务逻辑不需要跳转页面的可以将String 类型改为void。这样返回的就不是整个页面了。 ...
ajax和jsp结合技术,一个最简单的例子,适合新手
自己做了一个jquery ajax异步请求,获得一个list对象的下拉框例子自己做了一个jquery ajax异步请求,获得一个list对象的下拉框例子
Ajax异步的特点为:多个事件并行发生,事件互不影响,请求之后,不刷新整张页面,页面不动,只是刷新页面的局部。异步数据获取技术 XMLHttpRequest对象方法: open("请求方式GET/POST","页面地址",true):与...
利用Ajax提高页面载入速度,提高服务器响应灵敏度
Ajax+jsp无刷新验证码实例 包含 :Ajax+jsp无刷新验证码实例.docx img.jsp net.js num.jsp random.jsp
在一个JSP页面里面根据条件动态的加载另一个jsp页面,另一个jsp页面是根据条件从数据库中提取的数据表格。
Ajax + JavaScript + MySQL 实现的Ajax分页功能