java查询数据写入xml
我的本意是通过ajax来读取xml里面的数据现在问题是我java后台查询好数据如何写入xml里去来供ajax读取...
我的本意是通过ajax来读取xml里面的数据
现在问题是 我java后台 查询好数据如何写入xml里去 来供ajax读取 展开
现在问题是 我java后台 查询好数据如何写入xml里去 来供ajax读取 展开
1个回答
展开全部
先用ajax发送异步请求到一个servlet或action
然后用action调用查询数据方法返回数据之后对数据进行迭代写入xml然后返回一个null就行了.
action代码
//设置xml头
response.setContentType ("text/xml; charset=UTF-8");
//设置不缓存 response.setHeader("cache-control","no-cache");
try
{
out=response.getWriter();
}
catch (IOException e)
{
e.printStackTrace();
}
Iterator ite=(Iterator)user.selectList(count);
Sysuser sysUser=null;
//写入xml
out.println("<root>");
while(ite.hasNext())
{
sysUser=(Sysuser)ite.next();
out.println("<sysUser>");
out.println("<username>");
out.println(sysUser.getUsername());
out.println("</username>");
out.println("<role>");
out.println(sysUser.getSysrole().getRoleName());
out.println("</role>");
out.println("<popedom>");
out.println(sysUser.getSysrole().getPopedom());
out.println("</popedom>");
out.println("</sysUser>");
}
out.println("</root>");
out.close();
return null;
javascript代码
//初始化xmlHttpRequest
function init()
{
try
{
xmlHttpRequest= new XMLHttpRequest();
}
catch(e1)
{
try
{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
//发送异步请求
function sendRequest()
{
init();
var url="/ManpowerResource/sysUserAjaxListAction.do?count="+count;
xmlHttpRequest.open('Get',url,true);
//设置回调函数
xmlHttpRequest.onreadystatechange=processRequest;
xmlHttpRequest.send(null);
}
//回调函数
function processRequest()
{
//判断返回状态 if(xmlHttpRequest.readyState==4)
{
if(xmlHttpRequest.status==200)
{
//获得返回的xml数据信息
var xmlDom=xmlHttpRequest.responseXML;
//前面定义的xml标签为:sysUser所以这里就获得sysUser这个节点
var sysUserDom=xmlDom.getElementsByTagName("sysUser");
//解析xml代码...........
for(var i=0;i<sysUserDom.length;i++)
{
.......
}
}
}
}
然后用action调用查询数据方法返回数据之后对数据进行迭代写入xml然后返回一个null就行了.
action代码
//设置xml头
response.setContentType ("text/xml; charset=UTF-8");
//设置不缓存 response.setHeader("cache-control","no-cache");
try
{
out=response.getWriter();
}
catch (IOException e)
{
e.printStackTrace();
}
Iterator ite=(Iterator)user.selectList(count);
Sysuser sysUser=null;
//写入xml
out.println("<root>");
while(ite.hasNext())
{
sysUser=(Sysuser)ite.next();
out.println("<sysUser>");
out.println("<username>");
out.println(sysUser.getUsername());
out.println("</username>");
out.println("<role>");
out.println(sysUser.getSysrole().getRoleName());
out.println("</role>");
out.println("<popedom>");
out.println(sysUser.getSysrole().getPopedom());
out.println("</popedom>");
out.println("</sysUser>");
}
out.println("</root>");
out.close();
return null;
javascript代码
//初始化xmlHttpRequest
function init()
{
try
{
xmlHttpRequest= new XMLHttpRequest();
}
catch(e1)
{
try
{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
xmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP");
}
}
}
//发送异步请求
function sendRequest()
{
init();
var url="/ManpowerResource/sysUserAjaxListAction.do?count="+count;
xmlHttpRequest.open('Get',url,true);
//设置回调函数
xmlHttpRequest.onreadystatechange=processRequest;
xmlHttpRequest.send(null);
}
//回调函数
function processRequest()
{
//判断返回状态 if(xmlHttpRequest.readyState==4)
{
if(xmlHttpRequest.status==200)
{
//获得返回的xml数据信息
var xmlDom=xmlHttpRequest.responseXML;
//前面定义的xml标签为:sysUser所以这里就获得sysUser这个节点
var sysUserDom=xmlDom.getElementsByTagName("sysUser");
//解析xml代码...........
for(var i=0;i<sysUserDom.length;i++)
{
.......
}
}
}
}
参考资料: ...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询