看下下面的代码吧,struts2和hibernate开发的项目

[复制链接]
查看11 | 回复4 | 2011-6-8 21:53:35 | 显示全部楼层 |阅读模式
action方法中的部分代码:
System.out.println("username is :"+username);
if(username==null)
                {
                       
                        String visitorName=ran.genRandomNum(6);
                        String visitorPwd=ran.genRandomNum(8);
                       
                        request.setAttribute("visitorName", visitorName);
                        request.setAttribute("visitorPwd", visitorPwd);
                       
                        session.setAttribute("messNewResponseSucc", "");
                       
                        Visitor vis=new Visitor();
                        vis.setVisitor(visitorName);
                        vis.setVisitorPwd(visitorPwd);
                        vis.setLastLoginDate(new Date());
                        visDao.addVisitor(vis);
                       
                        return "fail";
                }else{
                       
                        Response res=new Response();
                        res.setId(resDao.getSize());
                        res.setContent(note);
                        res.setTopic(topDao.getTopic(topid));
                        res.setUserTable(userDao.getUser(username));
                        //res.setVisitor(v)
                        res.setSubject(subDao.sub(subid));
                        res.setCreateDate(nowTime);
                        res.setCheckRes(-1);
                        resDao.addResponse(res);
                        System.out.println("newResponseSucc resid is "+resDao.getSize());
                        if(resDao.isPassResponse(resDao.getSize())==null)//审核回复的信息
                        {
                                System.out.println("resid is "+resDao.getSize());
                                request.setAttribute("username", username);
                                request.setAttribute("topUserName", topUserName);
                                request.setAttribute("title", title);
                                request.setAttribute("subName", subName);
                                request.setAttribute("topid", topid);
                                request.setAttribute("subid", subid);
                                request.setAttribute("topContent", topContent);
                                request.setAttribute("note", note);
                                session.setAttribute("messNewResponseSucc", "");
                                return "err";
                        }
}
打印的是username is:null但是程序却不运行if(username==null),而直接运行了else中的代码,找不出错了,大侠们帮帮忙

回复

使用道具 举报

千问 | 2011-6-8 21:53:35 | 显示全部楼层
“if(username==null)”是判断username是否为空,不是判断username的值是不是“null”如果你想判断username的值是不是字符串“null”,使用 "null".equals(username)...
回复

使用道具 举报

千问 | 2011-6-8 21:53:35 | 显示全部楼层
我也实在理解不了 如果username为null的话 为什么不执行if里面的语句不可能啊,除非你的username就等于 字符串 "null",我感觉只有这样才会走else楼主可不可以试着输出一下System.out.println(username==null);看是ture,还是false如果是false请断点执行一下,看看usern...
回复

使用道具 举报

千问 | 2011-6-8 21:53:35 | 显示全部楼层
你的逻辑没问题啊,username如果等于null的话,不可能执行else的,你再看下username到底值是啥,是null还是“null”,如果不行的话你改成这样if(StringUtiles.isBlank(username)){...}试试...
回复

使用道具 举报

千问 | 2011-6-8 21:53:35 | 显示全部楼层
if(username==null) !if(username.equals.(""))...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行