日期:2014-05-18  浏览次数:20774 次

session里取值问题?
我在session里取值的时候,用一个if(session.getAttribute("newsidcomment")!=null)去判断名字为newsidcomment
的session里是否有值的时候出现了一个问题,那就是如果其它session里有值的话,即使名字为newsidcomment
的session里没值,session.getAttribute("newsidcomment")也不等于null,也就是说,这个判断不起作用了,
请问这是怎么回事啊???

------解决方案--------------------
那就是如果其它session里有值的话,即使名字为newsidcomment 
的session里没值,
(!&$)(!&@)$&!)@$^!)
你有几个session?
你这个是什么框架?
------解决方案--------------------
两个session呢!
怎么可能呢?
session只是一个容器里面放的是键值对啊.
怎么可能有两个session呢.

你可以这样去判断一下试 试.

if(session.getAttribute("newsidcomment")!=null && session.getAttribute("newsidcomment").toString().length>0){

}
------解决方案--------------------
不可能吧,会话session跟客户端(连接上服务器的浏览器)一对一且唯一的啊
------解决方案--------------------
session.getAttribute("newsidcomment").toString().trim() 

------解决方案--------------------
session.getAttribute("newsidcomment")==null说明没有设置属性newsidcomment或者session.setAttribute("newsidcomment",null).

==""说明设置了session.setAttribute("newsidcomment","")
------解决方案--------------------
request.getSession(false or true);得到session,然后
if( null!= session.getAttribute("newsidcomment") &&
!“”.equals(session.getAttribute("newsidcomment"))){
看看呢
------解决方案--------------------
少判断一项吧,这样写来拿SESSION的值 

Java code
if(session.getAttribute("newsidcomment")!=null 
    || !"".equals(session.getAttribute("newsidcomment").toString().trim())) {
    String aaaa = session.getAttribute("newsidcomment").toString().trim();
}

------解决方案--------------------
Java code

                CurrentUser currentUser = new CurrentUser();
        currentUser.setUserId(1);
        currentUser.setUserName("currentUser");
        
        request.getSession().setAttribute("CURRENTUSER", currentUser);
        request.getSession().setAttribute("aa", "dddd");

        if(request.getSession().getAttribute("jjjjj")!=null){
            System.out.println("jjjjjjjjjjjjjjjjj");
        }
        if(request.getSession().getAttribute("aa")!=null){
            System.out.println("aaaaaaaaaaaaaaaaaaaaaa");
        }
        if(request.getSession().getAttribute("CURRENTUSER")!=null){
            System.out.println("currentUser");
        }

------解决方案--------------------
你不要去这样判断..你直接判断session.getAttribute("name") == null || "".equals(session.getAttribute("name")).toString().trim();
------解决方案--------------------
一个浏览器进程只有一个session
你这样判断就可以了:
session.getAttribute("name") == null ¦ ¦ "".equals(session.getAttribute("name")).toString().trim().length==0;