servlet内部跳转if语句不执行,也不报错

} else if ("shoppingCartBooks".equals(flag)) {

String username = req.getParameter("username");

System.out.println(username+"****");

if (username != null) {

List list = bs.getAllBooksInShoppingCart(username);

req.setAttribute("list", list);

req.getRequestDispatcher("jsp/shopping.jsp").forward(req, resp);

} else if(username==null) {

//req.setAttribute("errorMess", "请登录!");

System.out.println("跳转了!!");

req.getRequestDispatcher("BookServlet?flag=allBooks").forward(

req, resp);

}

一切正常,username也为空,打出来看了,也取到了,唯独,不进入if()条件句里面,怎么回事??也没有异常!!一切正常!!


江户川乱折腾
浏览 1086回答 4
4回答

繁星点点滴滴

知道的回复我,到底怎么会是??这个username明明为null,我已经打出来看过了,在里面也取出来看了,就是进不去if(null)里面,知道的速度解答!!快要疯了!!

鸿蒙传说

你这里应该是null和“”的问题。null表示还没new出对象,就是还没开辟空间 “”表示new除了对象,但是这个对象装的是空字符串。对于username=request.getParameter("") 当前端没有为username输入时,它默认的应该是“” 而不是null。自然你这里的if就进不去了

慕姐8265434

修改为 if("".equals(username)) 再试下看看

慕姐4208626

请问楼主解决这个问题了吗,我也是碰到这个问题,if语句不能执行,验证过值都对,但是一到if语句就跳过。也不报错。下边是部分代码:sql=con.createStatement();rs=sql.executeQuery(isActor);int i=0;while(rs.next()){//if(log.getUser()==(rs.getString(1)).trim() && log.getPassword()==(rs.getString(2)).trim()) //这条语句不能执行u[i]=(rs.getString(1)).trim();p[i]=(rs.getString(2)).trim();i++;}for(int m=0;m<i;m++){if(log.getUser()==u[m] && log.getPassword()==p[m])response.sendRedirect("loginSuccessS.jsp");}response.sendRedirect("loginError.jsp");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java