如何用Ajax传递一个对象集合到jsp页面。
在mysql有News这个表,现在想传递一个List<News>对象到Jsp页面。具体我已经实现了一下一部分代码了:在servlet中:publicvoidgetNews...
在mysql有News这个表,现在想传递一个List<News>对象到Jsp页面。具体我已经实现了一下一部分代码了:
在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<News> newsList=new ArrayList<News>();
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分钟获取一次
<span id="newsList"></span>
或者有其他方法比如什么jason,麻烦都贴上具体实现代码,因为我初学者,谢谢啦! 展开
在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<News> newsList=new ArrayList<News>();
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分钟获取一次
<span id="newsList"></span>
或者有其他方法比如什么jason,麻烦都贴上具体实现代码,因为我初学者,谢谢啦! 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询