日期:2014-05-17  浏览次数:20777 次

关于servlet中的数据如何返回问题。
各位好:
    现在目前有一问题,我形象的跟大家描述一下,希望大家能给我解答一下,感激不尽!先塞塞各位了..
   具体是这样的:
        前台jsp页面查询功能,选择好了查询项之后,点击查询,ajax将查询项数据发送到servlet端,进行数据库操作,并且查询出结果。比如说上班的考勤结果。
        查询出结果以后,自然而然的问题是将结果返回到前台jsp页面并显示以实现异步刷新。
    我的问题:
        如何在servlet中对查询的数据进行封装或者是组装,将操作后的整个对象返回到前台,这样,在前台就比较方便了,只需要接受一个对象就可以,然后再将其显示到div中。例如:查询的某一周中周三缺勤,则绘制一张表格显示周一到周天,在相应的周三的框中显示缺勤记录,我是想要这样的效果。
       刚刚接触ajax,还真是弄不太明白,但是由于手头的工作需要,还必须要做出效果。就只能先应付过去了,恶补是来不及了。
      相关的关键代码如下,我已经贴出,网各位大神可以帮下忙:

<script type="text/javascript">
var xmlhttp;
var username;
var usertitle;
var department;
var useraction;
function creatXMLHttpRequest()
{
if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlhttp=new ActiveXObject("Microsoft.XMLHttp");
}
username=document.getElementById("kecheng").value;
//usertitle=document.getElementById("title").value;
//department=document.getElementById("dept").value;
useraction="add";
alert(username);
var url="servlet/student?xuanze="+username;
xmlhttp.open("GET",url,true);
xmlhttp.setRequestHeader( "Content-Type", "text/html;charset=UTF-8" );
xmlhttp.onreadystatechange=function (){
var ready=xmlhttp.readyState;
if(ready==4){  
//var result=xmlhttp.responseText;
//alert(result);
document.getElementById("xianshi").innerHTML=xmlhttp.responseText;  }
    };
xmlhttp.send(null);

}
</script>


------解决方案--------------------
最简单通用的做法就是,服务端将数据打包成JSON格式的字符串传回前台,JS可以用操作JSON对象的方式直接操作它。
如:
String str = "{\"name\":\"myname\"}";
response.getWriter().print(str)
------解决方案--------------------
查询到结果,在后台set进一个对象里,返回这个对象不就ok了。
------解决方案--------------------
有个东西叫JSON
------解决方案--------------------
画什么根据你对象的属性来的吧,get不就行了。
------解决方案--------------------
引用:
引用:最简单通用的做法就是,服务端将数据打包成JSON格式的字符串传回前台,JS可以用操作JSON对象的方式直接操作它。
如:
String str = "{\"name\":\"myname\"}";
response.getWriter().print(str)
这是个什么东西?json?话说我现在还是刚刚接触ajax的呢..……

正因为你刚接触,所以你才这么多疑问,深入做吧。
------解决方案--------------------
返回json,前台通过
var obj = eval("("+result+")")
获取js对象
------解决方案--------------------
这个正在学习,过来了解滴
------解决方案--------------------
要不就使用json,在前台组装。
要不就转到另一个页面,把这个组装好的页面返回的html,设值到你那个DIV的innerHTML里