这悄悄话该如何判断?
<%
String message=request.getParameter("message");//获得发送的消息
User userLogin=(User)session.getAttribute("user");//登录者的名字
String xiaoxi1=request.getParameter("xiaoxi1");//获得是系统公告还是要发送的对象
List doMessage = (List) application.getAttribute("doMessage");//保存聊天信息String str="";
   if(xiaoxi1==null)str="";
   else if(xiaoxi1=="系统公告"){
         str="系统公告: message+"<br>";
        }else if(xiaoxi1=="所有人"){
       str="userLogin.getUserName()+"说:"+message+"<br>";
        }else{
       str="私聊:"+userLogin.getUserName()+"对"+xiaoxi1+"说:"+message+"<br>";
         }
      
        //第一次使用前,需要初始化
        if (doMessage == null) {
         doMessage = new ArrayList();
         application.setAttribute("doMessage", doMessage);
    }       
       
    if(doMessage.size()>5){
            doMessage = new ArrayList();
        application.setAttribute("doMessage", doMessage);  
    }
          
    if(message!=null && !"".equals(message)){      
    doMessage.add(str);     
    } 
%>

<table cellpadding="0" cellspacing="0" width="100%">
   <%
  for (int i = 0; i < doMessage.size(); i++) {
      String xiaoxi = (String)doMessage.get(i);
%>
   <tr>
   <td>    
   <%=xiaoxi %>   
   </td>
   </tr>
<%
}
%>
   </table>
为什么我发送悄悄话所有人都看得到
      谁帮我改下?
谢谢了、有时就会报500错

解决方案 »

  1.   

    你这个没加权限判断吗
    把这个<%=xiaoxi %>改一下,判断如果消息是个当前用户的,就显示
    否则不显示
       
      

  2.   

    是不是应该在最上面那判断?
    应该在
     if(xiaoxi1==null)str=""; 
      else if(xiaoxi1=="系统公告"){ 
          str="系统公告: message+" <br>"; 
            }else if(xiaoxi1=="所有人"){ 
          str="userLogin.getUserName()+"说:"+message+" <br>"; 
            }else{ 
          str="私聊:"+userLogin.getUserName()+"对"+xiaoxi1+"说:"+message+" <br>"; 
            } 这里就进行判断吧?
      

  3.   

      if(message!=null && !"".equals(message)){   
      doMessage.add(str);  
      } 

    没有判断用户权限
     if(xiaoxi1==null||xiaoxi1=="系统公告"||xiaoxi1=="所有人"){ 
    }else{
    if(message!=null && !"".equals(message)){   
      doMessage.add(str);  
      } 
    }