当前位置: 代码迷 >> Java Web开发 >> setvlet 空字符串判断失败,为何
  详细解决方案

setvlet 空字符串判断失败,为何

热度:443   发布时间:2013-09-25 22:05:57.0
setvlet 空字符串判断失败,为何
  if(stu==null||"".equals(stu))
          {
              request.setAttribute("st", "帐号 不能为空");
              response.sendRedirect("GoCheckStu.jsp");
             return;
          }
这个代码是在servlet里面写  目的就为了让空字符串不能住下执行 但是结果还是住下走了  而且代码全部执行完后 这代码也没有体现出来 ,请高手赐教
搜索更多相关主题的帖子: return  equals  字符串  null  而且  

----------------解决方案--------------------------------------------------------
stu是什么类型的什么变量啊。你打印值了吗?如果你设置为int型的话,jvm你不给它初始化,它的值默认为0那么你的判断条件没有一点用啊
还有你这个代码没有问题吗?
检查一下。你是写在什么方法里面的啊,这个return到哪了
----------------解决方案--------------------------------------------------------
楼主:
stu取出来是个String 变量 是从jsp页面取出来的
return是想让下面代码不执行
但是我在if 语句里面打印过但是发现他根本没有进入到这个if语句里面
条件有问题吧!我把源代码贴来

页面
<a href="Checkcla.jsp">去查询</a><br>
   
    <form action="Addservlet"  method="post">
   班名:<input type="text"  name="cla" ><br>
     <input type="submit" value="确定">
     </form>
    </body>

servlet 里面的
/*
   * 添加班级
   */
          request.setCharacterEncoding("UTF-8");
          String stu=request.getParameter("cla");
          if(stu==null||"".equals(stu))
          {  System.out.println(stu);
              request.setAttribute("st", "帐号 不能为空");
              response.sendRedirect("GoCheckStu.jsp");
             return;
          }
          Cla c = new Cla();
          c.setCname(stu);
          Cladao cd=new Cladao();
          cd.Addcla(c);
          if(c == null){
          request.setAttribute("st", "添加失败");
          }else{
              request.setAttribute("st", "添加成功");
          }
          request.getRequestDispatcher("GoCheckStu.jsp").forward(request,response);
    }

----------------解决方案--------------------------------------------------------
你打印stu的值没有,后台接到什么。写个值看看。
打印下stu.length看有没有值。
按理说不应该啊,明天有空我写运行下试试,今晚加班忙了
----------------解决方案--------------------------------------------------------
   request.setCharacterEncoding("UTF-8");
          String stu=request.getParameter("cla");
          if(stu==null||"".equals(stu))
          {  System.out.println(stu);
              request.setAttribute("st", "帐号 不能为空");
              response.sendRedirect("GoCheckStu.jsp");
             return;
          }
这代码怎么都不执行
----------------解决方案--------------------------------------------------------
这段代码没有看出问题来,你看下是不是哪里的逻辑有问题,
打断点,看程序有没有走这一步,看你程序是怎么走的,
----------------解决方案--------------------------------------------------------
你这样说,我都在想你的提交页面是不是提交错了,你action怎么写的,。servlet里面仔细检查下。看页面提交到哪了,多弄些打印和断点跟着走走
----------------解决方案--------------------------------------------------------