我刚写一个东西,用到数据库中两个表:albums和photos
任务是显示每个album中的第一张photo
错误是:java.lang.NullPointerException
只涉及两个文件:photoDAO.java和index.jsp
代码如下:
photoDAO.java
[code="java"]
package java_files;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
public class PhotoDAO {
Session session=null;
private SessionFactory sessionFactory;
public PhotoDAO() {
}
public PhotoDAO(SessionFactory sessionFactory) {
this.setSessionFactory(sessionFactory);
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
@SuppressWarnings("empty-statement")
public List getfirstPhoto() {
List Photolist=null;
List Fir_Photolist=null;
try {
Query q1=session.createQuery("select albums.id as al_id from albums");
List l=q1.list();
for(int i=0;i
Query q2 = session.createQuery("from photos as photos where photos.album_id ='" + l.get(i) + "'");
Photolist =(List) q2.list();
Fir_Photolist.add(Photolist.get(0));
}
} catch (Exception e) { e.printStackTrace(); }
return (List)Fir_Photolist;
}
}[/code]
index.jsp
[code="java"]
<%@page import="java_files.*"%>
<%@page import="java.util.List"%>
Welcome to Spring Web MVC project
<body>
<%
PhotoDAO helper = new PhotoDAO();
List Photos = helper.getfirstPhoto();
for (int i = 0; i < Photos.size(); i++) {
out.println("<tr>");
Photos Photo = (Photos) Photos.get(i);
out.print("<td>" + Photo.getTitle() + "</td>");
out.print("<td><a href=\"" + Photo.getSrc() + "\"/>" +
Photo.getDescription()+ "</a></td>");
out.print("<td><img src=\"" + Photo.getSrc() +
"\"/></td>");
out.print("<td>" + Photo.getDescription() + "</td>");
out.println("</tr>");
}
%>
</body>
[/code]
请大家帮我看一下,谢谢,我coding技术不好,刚学,希望大家不要笑话~~