%
       String tt=new String();
       List list=new ArrayList();
       myhorsefsy my=new myhorsefsy();
       list=my.getlist("SELECT stuID FROM stuinfo");
       for(int i=0;i<list.size();i++)
       {
 %>
这段代码那里有问题呀?eclipse报unknown tag(list.size())

解决方案 »

  1.   

    把详细的代码贴出来啊,myhorsefsy返回的是list吗
      

  2.   

    for(int i=0;i <list.size();i++) 
          { 
    %> 不会是少个}
      

  3.   

    <%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
    <%@page import="fsy.myhorsefsy"%>
    <%@page import="fsy.fsy"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
      </head>
      
      <body>
      <table>
      <tr>
    <%
           List list=new ArrayList();
           myhorsefsy my=new myhorsefsy();
           list=my.getlist("SELECT stuID FROM stuinfo");
           for(int i=0;i<list.size();i++){
           
     %>
          <td>
           <%=list.get(i).toString()%></td>
     <%
           }
     %>
      </tr>
    </table>
      </body>
    </html>
    这是jsp页面的代码,高手帮忙看一下.
      

  4.   

    你把list直接输出来; System.out.println(list);
    看看里面有没有数据,可能是数据为空,没有返回一个list ,把你封装的数据类 也搞出来!
      

  5.   

    把 myhorsefsy.getlist(String sql)方法晒出来把。
    还有,如果这个方法会返回null,最好在for循环之前 if(list!=null&&list.size()>0)一把。
      

  6.   

    问题可能是在for循环中的list.size(). 你可以换成
    for(myhorsefsy i:list){}
      

  7.   

    是运行时异常,还是jsp检查报错?
    如果是前者,把异常信息贴出来。
    后者无视,eclipse查的不准,不影响运行就没问题。
      

  8.   

    HTTP Status 500 -type Exception reportmessagedescription The server encountered an internal error () that prevented it from fulfilling this request.exceptionorg.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 2421: <%
    22:        List list=new ArrayList();
    23:        myhorsefsy my=new myhorsefsy();
    24:        list=my.getlist("SELECT stuID FROM stuinfo");
    25:        for(int i=0;i<list.size();i++){
    26:        
    27:  %>
    Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:416)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    root causejava.lang.NullPointerException
    fsy.myhorsefsy.getlist(myhorsefsy.java:18)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:79)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    note The full stack trace of the root cause is available in the Apache Tomcat/6.0.18 logs.
    这是报的错,高手们看看
      

  9.   


    java.lang.NullPointerException
    fsy.myhorsefsy.getlist(myhorsefsy.java:18) 自己看myhorsefsy的第18行。
      

  10.   

    list=my.getlist("SELECT stuID FROM stuinfo"); 
    可能是你取不到数据返回过来的是一个空值,报空指针异常了,在前面加个判断不为空
    if(list!=null){}
      

  11.   

    package fsy;
    import java.sql.*;
    import java.util.*;
    import fsy.DBconnection;
    import fsy.fsy;public class myhorsefsy {
    public ArrayList getlist(String sql)
    {

    ArrayList list=new ArrayList();
    PreparedStatement pst=null;
    ResultSet rs=null;
    Connection con=null;
    try {
    con= DBconnection.getConnection();
    if(sql!=""){
    pst=con.prepareStatement(sql);
    rs=pst.executeQuery();
    while(rs.next())
    {
    String id=rs.getString(0);
    fsy fsy=new fsy(id);
    list.add(fsy);
    }
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return list;
    }
    }
    这是我的list获取方法.我debug了一下,好像是跑到
    pst=con.prepareStatement(sql);
    rs=pst.executeQuery();这两句里就不行了.
      

  12.   

    为建立与数据库的连接,需要通过调用Class类的forName()方法来装入数据库特定的驱动器。例如,装载MySql的驱动器如下:
           Class.forName("com.mysql.jdbc.Driver"); 
    java.sql包中包含DriverManager类和Connection接口,用来连接数据库。要连接数据库,必须先从DriverManager类生成Connection对象。要生成Connection对象,还需要数据库的URL,用户名及密码等信息。例如,有一个本地MySql数据库,名叫mydatabase,其用户名为Bill,密码为123,那么生成连接数据库的Connection对象的方法如下:
           String url="jdbc:mysql://localhost/mydatabase";
           Connection con=DriverManager.getConnection(url,"Bill","123");   
    建立连接后,可使用两种对象查询数据库:Statement对象和PreparedStatement对象。
    Statement对象:把简单查询语句发送到数据库,允许执行简单的查询。它有两个查询方法:executeQuery()和executeUpdate()。executeQuery()方法执行简单的选择(SELECT)查询,并返回ResultSet对象;executeUpdate()方法执行SQL的INSERT,UPDATE或DELETE语句,返回int值,给出受查询影响的行数。例如:
           Statement st=con.createStatement();
           ResultSet rs=st.executeQuery("select * from students");
           PreparedStatement对象:允许执行参数化的查询。例如:
           String sql="select * from students where stuID=?";
           PrepareStatement ps=con.prepareStatement(sql);
           ps.setString(1,"56789");            //设定参数值
           ResulrSet rs=ps.executeQuery();   //获得查询结果 
      

  13.   

    基本上就是Connection为null了,一般连数据库出NullPointerException都是这个。
      

  14.   

    myhorsefsy 类里面获取con 或者生成prepareStatement 执行出错了 ,空指针异常
      

  15.   

    现在发现在这里就出错了:while(rs.next())貌似rs没有取到值呀. 
      

  16.   

    现在程序是能跑了.但是显示到页面的值不对.是fsy.fsy@14f1726 fsy.fsy@178c490 fsy.fsy@1b0de2e fsy.fsy@cad437 是什么问题?难道页面格式的问题?我是pageEncoding="GBK"
      

  17.   

    看你的打印,那是对象的内存地址,与乱码没一点关系问题在于你的代码
     <%=list.get(i).toString()%> </td> 要检查你list里面装得是啥?
      

  18.   

    回楼上list装的是一个对象.请问java中如何将对象中的值取出来?
      

  19.   

    <%=list.get(i).toString()%> </td> 
    改为
    <%=((fsy)list.get(i)).getID%> </td> 
    看你的fsy这个类里面的getid的方法