用如下代码段从数据库中提取数据,初始化下拉列表
<%   
   String sql3 = "select distinct substr(cyjxh,5,2) as b from ys_dgb01";
   ResultSet rs3 = DBbean.exeQuery(sql3);
   if(rs3==null){out.println("<script>alert('没有数据!');window.location.href='DBtest.jsp';                              </script>");}
   rs3.last();
   x = rs3.getRow();
   rs3.beforeFirst();
   while(rs3.next()){
     String temxh = rs3.getString(1).trim();  //此行为报错中的57行
 if("8-".equals(temxh)){
   xh = "8型";}else if("10".equals(temxh)){
   xh = "10型";}else if("12".equals(temxh)){
   xh = "12型";}else if("14".equals(temxh)){
   xh = "14型";}else{
   xh = temxh;}     
   %>
  <option value="<%=temxh%>"><%=xh%></option>
  <%}%>
  
  </select>
报错如下:(注:通过打印数据集的记录数量得知数据集是有数据的。)
将rs3.getString(1).trim();换成字符串常量就能通过编译,初学,看不懂报错的意思,急盼高手们指点!
org.apache.jasper.JasperException: Exception in JSP: /DBtest/DBtest.jsp:5754:    x = rs3.getRow();
55:    rs3.beforeFirst();
56:    while(rs3.next()){
57:      String temxh = rs3.getString(1).trim();
58:   if("8-".equals(temxh)){
59:     xh = "8型";}else if("10".equals(temxh)){
60:     xh = "10型";}else if("12".equals(temxh)){
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:451)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:373)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
root cause java.lang.NullPointerException
org.apache.jsp.DBtest.DBtest_jsp._jspService(DBtest_jsp.java:120)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

解决方案 »

  1.   

    java.lang.NullPointerException
    空指针...你打印 rs3.getString(1) 自己看...
      

  2.   

    问题已解决,去掉String temxh = rs3.getString(1).trim();后面的.trim()就可以了。但是,仍然不解...
      

  3.   

    你的数据库第一个字段是字符么
    String temxh = rs3.getString(1).trim();  改为
    String temxh1 = rs3.getString(1);  
    String temxh = temxh1.trim();
    试试
      
      

  4.   


    第一个字段的数据中有带特殊符号的,如“-”。
    是不是带特殊符号的字段不能用trim()函数啊?