<%@ page import ="java.util.*" %>
<%@ page import ="book.*" %>
ArrayList movies = (ArrayList) request.getAttribute("movieinfo");
if(movies!=null){
for(int i=0;i<movies.size();i++){
movie b = (movie) movies.get(i);
out.println("<tr>");
out.println("<td>" + b.getMovieID() + "</td>");
out.println("<td>" + b.getMovieTitle() + "</td>");
out.println("<td>" + b.getReleaseDate() + "</td>");
out.println("<td>" + b.getDescription() + "</td>");
out.println("<td>" + b.getImage() + "</td>");
}
}
嗨,我正试图循环播放电影的arraylist。但是我收到了一个错误:
movie是一个java值bean
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 80 in the jsp file: /index.jsp
movie cannot be resolved to a type
77:
78: if(movies!=null){
79: for(int i=0;i<movies.size();i++){
80: movie b = (movie) movies.get(i);
81: out.println("<tr>");
82: out.println("<td>" + b.getMovieID() + "</td>");
83: out.println("<td>" + b.getMovieTitle() + "</td>");
感谢您的帮助。如果我应该提供其他豆类的其他信息,请告知我们。实用程序bean
src/movie/movie.java
package movie;
import java.util.Date;
public class movie {
private int MovieID;
private String MovieTitle;
private String Description;
private String Image;
private Date ReleaseDate;
public int getMovieID() {
return MovieID;
}
public void setMovieID(int movieID) {
MovieID = movieID;
}
public String getMovieTitle() {
return MovieTitle;
}
public void setMovieTitle(String movieTitle) {
MovieTitle = movieTitle;
}
public String getDescription() {
return Description;
}
public void setDescription(String description) {
Description = description;
}
public String getImage() {
return Image;
}
public void setImage(String image) {
Image = image;
}
public Date getReleaseDate() {
return ReleaseDate;
}
public void setReleaseDate(Date releaseDate) {
ReleaseDate = releaseDate;
}
}
src/movie/MovieDB.java
package movie;
import java.sql.*;
import java.util.ArrayList;
public class MovieDB {
public ArrayList movies (String query){
ArrayList movies= new ArrayList();
try {
// step 1 : load JDBC Driver
Class.forName("com.mysql.jdbc.Driver");
//step2 : define Connection URL
String connURL = "jdbc:mysql://localhost:3306/sp_movie?user=root&password=root";
//step3 establish connection url
Connection conn = DriverManager.getConnection(connURL);
String sql="{call "+query+"}";
CallableStatement cs=conn.prepareCall(sql);
ResultSet rs=cs.executeQuery();
while(rs.next()){
movie movies1 = new movie();
movies1.setMovieID(rs.getInt("Movie_ID"));
movies1.setMovieTitle(rs.getString("Movie_Title"));
movies1.setReleaseDate(rs.getDate("Release_Date"));
movies1.setImage(rs.getString("Image"));
movies1.setDescription(rs.getString("Description"));
movies.add(movies1);
}
} catch (Exception e){
} finally {
try {
} catch (Exception e) {}
}
return movies;
}
}
src/movie/Moviesearch.java
package movie;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Moviesearch
*/
@WebServlet("/Moviesearch")
public class Moviesearch extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Moviesearch() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String search = (String) request.getAttribute("search");
String searchtype = (String) request.getAttribute("searchtype");
String query = null;
if (searchtype.equals("title")){
query = "titlesearch('"+search+"')";
}else if(searchtype.equals("genre")){
query = "genresearch('"+search+"')";
}else if(searchtype.equals("actor")){
query = "actorsearch('"+search+"')";
}
ArrayList movies = null;
try{
String userid = request.getParameter("userid");
MovieDB getinfo = new MovieDB();
movies = getinfo.movies(query);
request.setAttribute("movieinfo",movies);
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
rd.forward(request, response);
} catch (Exception e){
} finally {
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
答案 0 :(得分:5)
查看您的movie
班级定义。它打包在movie
包中。
package movie; // full class name will be movie.movie
import java.util.Date;
public class movie { ......
}
您应该将movie
类导入为:
<%@ page import ="movie.movie" %>
即使在JSP中编写Java代码也是非常不鼓励的。阅读How to avoid Java Code in JSP-Files?。
出于您的目的,您可以使用JSTL的<c:forEach>
循环。