ajax-如何用Ajax传递一个对象集合到jsp页面。

问题描述

如何用Ajax传递一个对象集合到jsp页面。

我想在我的web项目(struts2+hibernate)的首页的页面输出数据库的News这个表的内容,请问具体的代码是怎样的,我都快点疯了。


附我自己写的代码,及供参考,可忽略

在servlet中:
public void getNewsList(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("application/xml"); // 设置响应类型为XML
response.setCharacterEncoding("GBK"); //设置响应的编码方式
PrintWriter out = response.getWriter();
ConnDB conn=new ConnDB();
String sql="SELECT * FROM News";
ResultSet rs=conn.executeQuery(sql); //
List newsList=new ArrayList();
try {
News n=new News();
while(rs.next()){
n.setId(rs.getInt("id"));
n.setTitle(rs.getString("title"));
newsList.add(n);
}
} catch (SQLException e) {
e.printStackTrace();
}
conn.close(); //
/****************通过Dom4j将获取的最新用户信息输出到XML文档中****************/
Document document = DocumentHelper.createDocument();
Element returnValue= document.addElement("returnValue");
document.setRootElement(returnValue); // 将returnValue设置为根节点
Element e_newsList=returnValue.addElement("NewsList"); //添加newUser节点
e_newsList.setData(newsList);
XMLWriter output;。。。。。
output.flush();
}
在JSP页面中:
javascript中:
function getUserInfo(){
var loader_List=new net.AjaxRequest("NewsListServlet?action=getNewsList&nocache="+new Date().getTime(),deal_getNewsList,onerror,"GET");//实例化Ajax对象
}
function deal_getNewsList(){
var objXml=this.req.responseXML; //获取返回的XML数据
var newsList = objXml.getElementsByTagName("newsList")[0].firstChild.data; //获取
document.getElementById("newsList").innerHTML=newsList; //显示
}
timer=window.setInterval(getUserInfo,60000); //每隔1分钟获取一次

解决方案

public void getNewsList(HttpServletRequest request,
 HttpServletResponse response) throws ServletException, IOException {
 response.setContentType("application/xml"); // 设置响应类型为XML
 response.setCharacterEncoding("GBK"); //设置响应的编码方式
PrintWriter out = response.getWriter();
 ConnDB conn=new ConnDB();
 String sql="SELECT * FROM News";
 ResultSet rs=conn.executeQuery(sql); //
 List newsList=new ArrayList();
 try {
 News n=new News();
 while(rs.next()){
 n.setId(rs.getInt("id"));
 n.setTitle(rs.getString("title"));
 newsList.add(n);
 }
 } catch (SQLException e) {
 e.printStackTrace();
 }
 conn.close(); //
 response.setHeader("cache-control","no-cache");
                PrintWriter out=response.getWriter();
            out.print("<?xml version='1.0' encoding='UTF-8'?>");
                                out.print("<root>");
for(int i=0;i<newList.size();i++){
out.print("<NewList>");
out.print("<Id>")
out.print(newList.get(i).getId());
out.print("</Id>");
out.print("<Title>");
out.print(newList.get(i).getTitle());
out.print("</Title>");
out.print("</NewList>");

}
out.print("</root>");
out.flush;
out.close;
时间: 2025-01-27 23:29:09

ajax-如何用Ajax传递一个对象集合到jsp页面。的相关文章

用ajax如何实现将数组从后台传回jsp页面中供js使用,谢谢!

问题描述 例如后台有数组Stringarr[]=String["aa","bb"];Stringarr[]=String["aa","bb"]; 想传回jsp中供js使用:functioncheckCode(){//自动选中vart_arr=['aa','bb'];//后台传回来的数组varcheckboxes=document.getElementsByTagName("input");vart_str=

java web j...-jsp页面遍历list集合?

问题描述 jsp页面遍历list集合? jsp页面如何遍历struts2的action传过来的list集合,并显示? 解决方案 参考. http://blog.csdn.net/leader_lx/article/details/2874878 解决方案二: jsp 页面中用struts2 标签遍历集合(list map)在jsp页面遍历list集合时比较字符串list和set集合的遍历 解决方案三: 可以直接用for循环嘛 <% for(Iterator it = list.iterator;

JSP页面中超链接传递中文参数出现乱码问题解决方法_JSP编程

本文实例讲述了JSP页面中超链接传递中文参数出现乱码问题解决方法.分享给大家供大家参考,具体如下: 这里分析超链接传递中文参数,在接受页面中出现乱码问题的解决方法. 解决方法: 在接受页面里可以如下处理, 复制代码 代码如下: <%=new String(request.getParameter("变量名字").getBytes("ISO-8859-1")) %> 注意这里用的是 new String() 创建一个新的字符串 例题: 页面一: <h

jquery.ajax的url中传递中文乱码问题的解决方法

 本篇文章主要是对jquery.ajax的url中传递中文乱码问题的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 JQuery   JQuery默认的contentType:application/x-www-form-urlencoded    这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1    ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符.   JQuery的Ajax根本没有考

jqueryajax-Jquery Ajax 如何向Sevlet传递数组,在Sevlet里如何接收这个数组

问题描述 Jquery Ajax 如何向Sevlet传递数组,在Sevlet里如何接收这个数组 Jquery Ajax 如何向Sevlet传递数组,在Sevlet里如何接收这个数组! 求源码实例 感激不尽!!! 解决方案 用JSONArray类去接收

JQuery的Ajax中Post方法传递中文出现乱码的解决方法_jquery

本文实例讲述了JQuery中Post传递中文出现的解决方法,即乱码ajax与jquery.ajax中文参数post传递乱码处理方法.分享给大家供大家参考.具体分析如下: 问题一: 今天在做项目时,需要用到Ajax,之前我在用GET方式传递中文参数时,只需要在后台程序中设置页面编码为GB2312即中文能正常显示,可是这次由于表单项目较多,不适合用GET方式传递,只能用POST方式,但发现后台程序中设置编码为GB2312时中文还是显示的乱码.经过一番研究问题才最终得到解决. 解决方法: 解决此问题的

点击发布按钮,如何用ajax发送这些数据到后台,希望有源码

问题描述 点击发布按钮,如何用ajax发送这些数据到后台,希望有源码 mg.ask.csdn.net/upload/201512/10/1449737844_583917.png) 如何点击发布使用ajax发送到后台这么多数据,我只能发送一行的数据,所有行的要怎么发,后台要如何接收 //第一行数据 var _tr = $("tbody tr:eq(0)"); var sortNum = _tr.children().eq(0).text(); var photoId = _tr.chi

js数组-JS在jsp页面将ajax传递的数组解析成前台数组

问题描述 JS在jsp页面将ajax传递的数组解析成前台数组 通过ajax在后台获取这样的字符串: [['技术评审1','专家2','供应商3','评分4','1'], ['技术评审2','专家2','供应商3','总分4','2'], ['技术评审3','专家2','供应商3','评分4','3']]; 传递到前台,可是默认前台识别的是字符串.怎么将其变成数字呢?达到这样的效果: var datas = [ ['技术评审1','专家2','供应商3','评分4','1'], ['技术评审2',

ajax-如何用Ajax提交multipart/form-data类型的Form?

问题描述 如何用Ajax提交multipart/form-data类型的Form? 如何用Ajax提交multipart/form-data类型的Form? 解决方案 ajax中data参数传值的时候,用下边这种方式,传序列化的表单值就好了. data:$('#regForm').serialize()//.serialize()方法将form表单内所有数据组装 解决方案二: 在form里提交文件的时候一定要写 enctype=""multipart/form-data"&q