字符串比较用equals()方法
if (strFlagDelete.equals("on"))
{}

解决方案 »

  1.   

    也就是说,你的代码根本就不符合if判断的条件,所以if里面的语句都不执行!
      

  2.   

    当我改成equals或者equalsIgnoreCase都会出现下面的出错信息,又没有error,为什么?
    A Servlet Exception Has Occurred
    Exception Report:
    javax.servlet.ServletException
    at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:481)
    at system.user._0002fsystem_0002fuser_0002fgroupuser_00031_0002ejspgroupuser1_jsp_38._jspService(_0002fsystem_0002fuser_0002fgroupuser_00031_0002ejspgroupuser1_jsp_38.java:183)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:184)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:328)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:407)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2041)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:818)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:897)
    at java.lang.Thread.run(Thread.java:484)Root Cause:
    java.lang.NullPointerException
    at system.user._0002fsystem_0002fuser_0002fgroupuser_00031_0002ejspgroupuser1_jsp_38._jspService(_0002fsystem_0002fuser_0002fgroupuser_00031_0002ejspgroupuser1_jsp_38.java:107)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:184)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:328)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:407)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:251)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:196)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2041)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
    at org.apache.catalina.valves.ValveBase.invokeNext(ValveBase.java:242)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:414)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:975)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:159)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:977)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:818)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:897)
    at java.lang.Thread.run(Thread.java:484)
      

  3.   

    对象比较要用equals()函数,只用基本类型的才可以用“==”
      

  4.   

    if (strFlagDelete!=null&&strFlagDelete.equals("on"))也不知道你的vd 又没有new 过
      

  5.   

    nDelete++;
     User ud=new User(strUserId);
     vd.addElement(ud);
     User ud1=new User();
     ud1=ud.doLoad();
     strDeleteIdList+=ud1.getUserId()+",";
     strDeleteNameList+=ud1.getUserName()+",";中有一个为null,你自己检查一下,那个可能为null值的
      

  6.   

    <%@ page contentType="text/html; charset=gb2312" %>
    <%@ page import="fsoa.com.system.*"%>
    <%@ page import="java.util.*"%>
    <%@ page import="fsoa.com.exception.*"%>
    <HTML>
    <HEAD>
    <TITLE> 用户管理 </TITLE>
    <%
    User u=new User();
    u.setOrganizeId("0000"); Vector vc=u.getAllOrganize();
    %>
    <%!
        Vector vd=new Vector();
    String strDeleteIdList="";
    String strDeleteNameList="";
    %>

    </HEAD><BODY>
      <FORM METHOD=POST name="frm" ACTION="adduser.jsp">
      <div>
        <TABLE>
        <TR>
         <TD width="10%"></TD>
         <TD width="20%">用户编号</TD>
         <TD width="20%">用户名称</TD>
         <TD width="20%">用户类型</TD>
         <TD width="20%">担任角色</TD>
    <TD width="10%">详细情况</TD>
        </TR>
      <% for(int i=0;i<vc.size();i++){
      u=(User)vc.get(i);
      String strUserId=u.getUserId();
      String strUserName=u.getUserName();
      String strUserType=u.getUserType();
      String strUserRole=u.getRoleId();
      int nDelete=0;  %>
        <TR>
         <TD><INPUT TYPE="checkbox" NAME="flagdelete"></TD>
      <% String strFlagDelete=request.getParameter("flagdelete");
      if (strFlagDelete!=null&&strFlagDelete.equals("on")){
     nDelete++;
     User ud=new User(strUserId);
     vd.addElement(ud);
     User ud1=new User();
     ud1=ud.doLoad();
     strDeleteIdList+=ud1.getUserId()+",";
     strDeleteNameList+=ud1.getUserName()+","; }
      %>
         <TD><%=strUserId%></TD>
         <TD><%=strUserName%></TD>
         <TD><%=strUserType%></TD>
         <TD><%=strUserRole%></TD>
    <TD><INPUT TYPE="button" value=" >>>> "></TD>
    <INPUT TYPE="hidden" name="DeleteIdList" value="<%=strDeleteIdList%>">
    <INPUT TYPE="hidden" name="DeleteNameList" value="<%=strDeleteNameList%>">
        </TR>
    <%}%>
        </TABLE>
    <tr><BR><BR></tr>
    </div>
    <div>
      <TABLE>
       <TR align="center">
        <TD width="50%"></TD>
        <TD width="18%"><INPUT TYPE="button" value="  增加  "  Onclick = "javascript:o()"></TD>
        <TD width="18%"><INPUT TYPE="button" value="  删除  "  Onclick = "javascript:deleteu('<%=strDeleteNameList%>')"></TD>
    <TD width="18%"><INPUT TYPE="button" value="  取消  "></TD>
       </TR>
       </TABLE> </div>

      </FORM>
    </BODY>
    </HTML>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function o(){
     window.close();
     window.open('adduser.jsp');
     }
    //-->
    </SCRIPT>
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function deleteu(strDeleteIdList){
      window.alert(strDeleteIdList);
    }
    //-->
    我干脆把整个jsp贴出来,if (strFlagDelete!=null&&strFlagDelete.equals("on"))这一句也试过不行,大家看看还有什么问题,小弟是新手,写得不好大家不要见笑.
      

  7.   

    当strFlagDelete==null时就执行下面的赋值!
      

  8.   

    <TD><INPUT TYPE="checkbox" NAME="flagdelete"></TD>
      <% String strFlagDelete=request.getParameter("flagdelete");
    这两句有问题吗?