<%@ page import="java.util.Collection, org.acme.movie.MovieEntity, java.util.Iterator, org.acme.movie.Movie, java.util.Date, java.io.PrintStream, java.util.Map, java.util.HashMap, java.util.ListIterator, java.util.List, javax.ejb.FinderException"%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% List movies = null; ListIterator listIterator = null; int display = 5; String action = request.getParameter("action"); if ("Add".equals(action)) { String title = request.getParameter("title"); String director = request.getParameter("director"); String genre = request.getParameter("genre"); int rating = Integer.parseInt(request.getParameter("rating")); String dateString = request.getParameter("releaseDate").replaceFirst("^([0-9]{4}$)","$1.01.01"); Date releaseDate = MovieEntity.DATE_FORMAT.parse(dateString); MovieEntity.Home.create(title, director, genre, rating, releaseDate); } else if ("Remove".equals(action)) { String[] ids = request.getParameterValues("id"); for (int i = 0; i < ids.length; i++) { String id = ids[i]; MovieEntity.Home.remove(new Integer(id)); } } else if (">>".equals(action)) { movies = (List) session.getAttribute("movies.collection"); listIterator = (ListIterator) session.getAttribute("movies.iterator"); } else if ("<<".equals(action)) { movies = (List) session.getAttribute("movies.collection"); listIterator = (ListIterator) session.getAttribute("movies.iterator"); for (int i=display*2; i > 0 && listIterator.hasPrevious(); i-- ) { listIterator.previous(); // backup } } else if ("findByTitle".equals(action)) { movies = (List) MovieEntity.Home.findByTitle(request.getParameter("key")); } else if ("findByDirector".equals(action)) { movies = (List) MovieEntity.Home.findByDirector(request.getParameter("key")); } else if ("findByGenre".equals(action)) { movies = (List) MovieEntity.Home.findByGenre(request.getParameter("key")); } if (movies == null){ try { movies = (List) MovieEntity.Home.findAllMovies(); } catch (Throwable e) { // We must not have run setup yet response.sendRedirect("setup.jsp"); return; } } if (listIterator == null) { listIterator = movies.listIterator(); } session.setAttribute("movies.collection", movies); session.setAttribute("movies.iterator", listIterator); %> Moviefun :: Index

  Mini-Movie Application
Movies
<% int start = listIterator.nextIndex(); for (int i=display; i > 0 && listIterator.hasNext(); i-- ) { Movie movie = (Movie) listIterator.next(); %> <% } %>
Title Director Genre Rating Year  
<%=movie.getTitle()%> <%=movie.getDirector()%> <%=movie.getGenre()%> <%=movie.getRating()%> <%=movie.getReleaseDate().getYear()+1900%>
<% if (start!=0&&listIterator.hasPrevious()){%><%}%> <%=start+1%> - <%=listIterator.nextIndex()%> of <%=movies.size()%> <% if (listIterator.hasNext()){%><%}%>
Add
Powered by Apache Tomcat and OpenEJB. Bug/feature request