%
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())
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())
解决方案 »
- MyEclipse 8.5如何使用JeasyOPC
- Struts 1.2的翻页问题
- 开始学习java
- spring3.0 不在controller 里面如何调用 service 层??
- pager-taglib详细使用说明
- 有关tomcat的安装问题
- JSP编程问题
- 如何让点击txt文件连接后,出现下载框?
- 我的bean 怎么老是The value for the useBean class attribute j2src.sayBean is invalid.
- 问大家一个问题 好奇怪
- java.lang.ClassNotFoundException: org.springframework.web.filter.CharacterEncodingFilter
- 找师傅啦!有没有收徒弟的?呵呵
{
%> 不会是少个}吧
<%@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页面的代码,高手帮忙看一下.
看看里面有没有数据,可能是数据为空,没有返回一个list ,把你封装的数据类 也搞出来!
还有,如果这个方法会返回null,最好在for循环之前 if(list!=null&&list.size()>0)一把。
for(myhorsefsy i:list){}
如果是前者,把异常信息贴出来。
后者无视,eclipse查的不准,不影响运行就没问题。
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.
这是报的错,高手们看看
java.lang.NullPointerException
fsy.myhorsefsy.getlist(myhorsefsy.java:18) 自己看myhorsefsy的第18行。
可能是你取不到数据返回过来的是一个空值,报空指针异常了,在前面加个判断不为空
if(list!=null){}
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();这两句里就不行了.
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(); //获得查询结果
<%=list.get(i).toString()%> </td> 要检查你list里面装得是啥?
改为
<%=((fsy)list.get(i)).getID%> </td>
看你的fsy这个类里面的getid的方法