会议名称 ,今天开会个数,本周开会个数,本月开会个数要分开显示,会议名称 ,今天开会个数,
            会议名称,本周开会个数
            会议名称。本月开会个数
我用了一个Ajax.js,2个jsp页面
个数显示不出来,是不是我的方法有问题,
请各位大侠们帮看看,不想看的也可以用你的方法写一下,但最要不要用到底层的代码,就是页面的代码!
谢谢!!!非常感谢!!!第一个页面:
--------------------------------------------------------------------------------------------
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="webwork" prefix="ww"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><html>
<head>
<script type="text/javascript">
var dep=null;
function getMembers(sunn){
if(sunn!="null"){
hideMenu();
dep = sunn;
var url="select.jsp";
var params = 'sunn=' + sunn;
sendRequest(url,params,'GET',showMembers);
}
}
function showMembers(){
if (httpRequest.readyState == 4) { 
if (httpRequest.status == 200) {
var membersData = httpRequest.responseXML.getElementsByTagName("member");
var mdisplay = '';
for(var i=0;i<membersData.length;i++){
mdisplay += '&nbsp;&nbsp;&nbsp;';
mdisplay += membersData[i].childNodes[1].firstChild.nodeValue;
mdisplay += '<br>';
}
document.getElementById(dep).parentNode.style.display='block';
document.getElementById(dep).innerHTML=mdisplay;
} else { //页面不正常 
alert("您请求的页面有异常"); 
}
}
}

function hideMenu(){
if(!dep) return ;
if(document.getElementById(dep).parentNode.style.display=='none'){
document.getElementById(dep).parentNode.style.display='block';
} else if(document.getElementById(dep).parentNode.style.display='block'){
document.getElementById(dep).parentNode.style.display='none';
document.getElementById(dep).innerHTML='&nbsp;';
return ;
}
}
</script>

</head>

<body>
<table>
<tr>
<td colspan="3" align="center">
会议
</td>
</tr>
<tr>
<td><a href="javascript:void(0)" onclick="getMembers('d1')"><input type="button" value="今 日"></a></td>
        <td><a href="javascript:void(0)" onclick="getMembers('d2')"><input type="button" value="本 周"></a></td>
        <td><a href="javascript:void(0)" onclick="getMembers('d3')"><input type="button" value="本 月"></a></td>
   </tr>
<tr>
<td>


<marquee bgcolor=#ffffff class=p4 direction=up height=60
scrollamount=1 scrolldelay=50 style="padding: 60px 0pt;" width=157
text-align: left? border="0";>
要滚动的文字
                       <ww:iterator value="vtrials">
<a href="findVtrials.action"><ww:property value="roomname" />nnn<br></a>
<a id="d1" style="display:none"></a>
<a id="d2" style="display:none"></a>
<a id="d3" style="display:none"></a>
<a id="d4" style="display:none"></a>
</ww:iterator>
</marquee>
</td>
</tr> </table>
</body>
</html>
-------------------------------------------------------------------------------------------------第2个页面:
<%@ page language="java" contentType="text/html; charset=UTF-8" import="java.util.*"%>
<%@ taglib uri="webwork" prefix="ww"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<% Map map = new HashMap();
String d1 = "<members><a href="+"findVtrials.action"+"><ww:property value="+"currentdaycount"+"/></a></member>";
String d2 = "<members><a href="+"findVtrials.action"+"><ww:property value="+"currentweekcount"+"/></a></member>";
String d3 = "<members><a href="+"findVtrials.action"+"><ww:property value="+"currentmonthcount"+"/></a></member>";
String d4 = "<members><a href="+"findVtrials.action"+"><ww:property value="+"currentyearcount"+"/></a></member>";
map.put("d1",d1);
map.put("d2",d2);
map.put("d3",d3);
map.put("d4",d4); String sunn= request.getParameter("depart");
if(sunn==null) sunn = "d1";
StringBuffer sb = new StringBuffer();
sb.append("<members>");
sb.append(map.get(sunn).toString());
sb.append("</members>");
out.write("<?xml version='1.0' encoding='gb2312' ?>");
out.write(sb.toString());

%>

解决方案 »

  1.   

    httpRequest 这个对象怎么出来的   没看到你定义啊?   httpRequest = new ActiveXObject("Microsoft.XMLHTTP")
      

  2.   

    httpRequest 确实是没有new出来。。
      

  3.   

    我觉得
    Map map = new HashMap(); 
    String d1 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentdaycount"+"/> </a> </member>"; 
    String d2 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentweekcount"+"/> </a> </member>"; 
    String d3 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentmonthcount"+"/> </a> </member>"; 
    String d4 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentyearcount"+"/> </a> </member>"; 
    map.put("d1",d1); 
    map.put("d2",d2); 
    map.put("d3",d3); 
    map.put("d4",d4); 会不会有问题,我要取的值很多!取每个会议的个数
    ===========================================================页面报的错是
    function getMembers(sunn){ 
    if(sunn!="null"){ 
    hideMenu(); 
    dep = sunn; 
    var url="select.jsp"; 
    var params = 'sunn=' + sunn; 
    sendRequest(url,params,'GET',showMembers); 


    没取到sunn值,找不到那个对象
    ============================================================================
    下面是
    ajax.js
    =============================================================================var httpRequest=null;
    function createXHR(){
    //开始初始化XMLHttpRequest对象
    if(window.XMLHttpRequest){ //Mozilla 浏览器
    httpRequest = new XMLHttpRequest();
    }else if(window.ActiveXObject){
    try{
    httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); //新版IE
    }catch(e){
    try {
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e){
    httpRequest = null;
    }
    }
    }
    if(!httpRequest){ //创建XMLHttpRequest失败
    alert("不能创建XMLHttpRequest对象实例");
    }
    }function sendRequest(url,params,method,handler){
    createXHR();
    if(!httpRequest) return false;
    httpRequest.onreadystatechange = handler;
    httpRequest.open(method,url+ '?' + params,true);

    if(method == "GET"){
    httpRequest.send(null);
    }

    if(method == "POST"){
    httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    httpRequest.send(params); //params形式:参数名=参数值&参数名=参数值
    }
    }
      

  4.   

    Ajax.js没引用吧
    httpRequest可能是个全局变量吧
      

  5.   

    sunn 在第一个页面 未定义啊 无法识别 !
    这么加一段
    <%
    String s =request.getParameter("depart");
    %><script type="text/javascript"> 
    var sunn = '<%=s %>';
    var dep=null; 
    function getMembers(sunn){ 
    if(sunn!="null"){ 
    hideMenu(); 
    dep = sunn; 
    var url="select.jsp"; 
    var params = 'sunn=' + sunn; 
    sendRequest(url,params,'GET',showMembers); 


      

  6.   

    var params = 'sunn=' + sunn; String sunn= request.getParameter("depart"); 参数是sunn不是depart
    所以修改成String sunn= request.getParameter("sunn"); 
     
    ok?
      

  7.   

    有点没看明白。你应该把所有方法都贴出来看看啊。
    你的XMLHttpRequest对象在哪创建的呢?
      

  8.   

    我觉得 
    Map map = new HashMap(); 
    String d1 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentdaycount"+"/> </a> </member>"; 
    String d2 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentweekcount"+"/> </a> </member>"; 
    String d3 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentmonthcount"+"/> </a> </member>"; 
    String d4 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentyearcount"+"/> </a> </member>"; 
    map.put("d1",d1); 
    map.put("d2",d2); 
    map.put("d3",d3); 
    map.put("d4",d4); 会不会有问题,我要取的值很多!取每个会议的个数 
    =========================================================== 页面报的错是 
    function getMembers(sunn){ 
    if(sunn!="null"){ 
    hideMenu(); 
    dep = sunn; 
    var url="select.jsp"; 
    var params = 'sunn=' + sunn; 
    sendRequest(url,params,'GET',showMembers); 


    没取到sunn值,找不到那个对象 
    ============================================================================ 
    下面是 
    ajax.js 
    ============================================================================= var httpRequest=null; 
    function createXHR(){ 
    //开始初始化XMLHttpRequest对象 
    if(window.XMLHttpRequest){ //Mozilla 浏览器 
    httpRequest = new XMLHttpRequest(); 
    }else if(window.ActiveXObject){ 
    try{ 
    httpRequest = new ActiveXObject("Msxml2.XMLHTTP"); //新版IE 
    }catch(e){ 
    try { 
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    }catch(e){ 
    httpRequest = null; 



    if(!httpRequest){ //创建XMLHttpRequest失败 
    alert("不能创建XMLHttpRequest对象实例"); 

    } function sendRequest(url,params,method,handler){ 
    createXHR(); 
    if(!httpRequest) return false; 
    httpRequest.onreadystatechange = handler; 
    httpRequest.open(method,url+ '?' + params,true); if(method == "GET"){ 
    httpRequest.send(null); 
    } if(method == "POST"){ 
    httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
    httpRequest.send(params); //params形式:参数名=参数值&参数名=参数值 

    }
      

  9.   

    晚上看下,刚好最近也在搞ajax
      

  10.   

    请先学习ajax的基本用法和使用的限定条件
      

  11.   

    sunn 在第一个页面 未定义啊 无法识别 ! 
    这么加一段 
    <% 
    String s =request.getParameter("depart"); 
    %> <script type="text/javascript"> 
    var sunn = ' <%=s %>'; 
    var dep=null; 
    function getMembers(sunn){ 
    if(sunn!="null"){ 
    hideMenu(); 
    dep = sunn; 
    var url="select.jsp"; 
    var params = 'sunn=' + sunn; 
    sendRequest(url,params,'GET',showMembers); 

      

  12.   

    给你一个httpRequest函数:
    function GetXMLBlock(url)
    {
    var req=null;
    try 
    {
    req = new XMLHttpRequest();
    } catch (e) {
    alert("GetXMLBlock 1");
    req = null;
    }
    if (!req && typeof(ActiveXObject) != "undefined"){
    req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    try {
    var a = req.open('GET', url, false);
    //req.setRequestHeader("If-Modified-Since","0"); 
    req.setRequestHeader("Content-Type","utf-8"); 
    req.send(null);
    if (req.readyState == 4)
    {
    if (req.status == 200) 
    {
    return req.responseXML;
    }
    alert("GetXMLBlock 2:"+req.status);
    return null;
    }
    } catch (ex) 
    {
    alert("GetXMLBlock 3 :"+ex);
    return null;
    }
    alert("GetXMLBlock 4");
    return null;
    }
    使用方法:
        var url = "";
        var xmlDoc = GetXMLBlock(url);
        if (xmlDoc == null) {
            alert("通信は失敗する。");
            return null;
        } else {
            return xmlDoc;
        }
      

  13.   

    既然你觉的
    我觉得
    Map map = new HashMap();
    String d1 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentdaycount"+"/> </a> </member>";
    String d2 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentweekcount"+"/> </a> </member>";
    String d3 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentmonthcount"+"/> </a> </member>";
    String d4 = " <members> <a href="+"findVtrials.action"+"> <ww:property value="+"currentyearcount"+"/> </a> </member>";
    map.put("d1",d1);
    map.put("d2",d2);
    map.put("d3",d3);
    map.put("d4",d4);会不会有问题,我要取的值很多!取每个会议的个数
    有问题,
    在showMembers()过程里alert(httpRequest.responseXML);
    alert(httpRequest.responseXML.getElementsByTagName("member");再在document.getElementById(dep).innerHTML=mdisplay; 时alert(mdisplay);看看到底在没取上值。
      

  14.   

    现在我只想实现,有谁能把它显示出来,上面我写的代码都不用看了,只要显示功能就行了,急急急!!!
    就是我的页面可以显示会议的名称,今天开的会议个数,本周开的会议个数,本月看的会议个数用table显示的,但现在我要点击今天这个按钮显示会议名称,和会议个数,点本周,显示名称和个数,点本月显示名称和个数;
    我的是点今天将其他的weekcount,monthcount影藏就好了,不知道怎么实现