I run the weppage there is space reserved for each propertie I call in the last <c:forEach> of the JSP
I run the weppage there is space reserved for each propertie I call in the last <c:forEach> of the JSP
I'm making a website, and I have a problem.
I'll first post the code and then elaborate on my problem, it must be something small that I am
overseeing as I do not get any errors.
view plaincopy to clipboardprint?
Note: Text content in the code blocks is automatically word-wrapped
public class Voorstellingen {
private Long voorstellingsNr;
private Long vrijePlaatsen;
private Long genreNr;
private String uitvoerders;
private String titel;
private BigDecimal prijs;
private Date datum;
public Voorstellingen(Long voorstellingsNr, Long VrijePlaatsen, Long genreNr,
String uitvoerders, String titel, BigDecimal prijs, Date datum) {
setVoorstellingsNr(voorstellingsNr);
}
}
public class Voorstellingen {
private Long voorstellingsNr;
private Long vrijePlaatsen;
private Long genreNr;
private String uitvoerders;
private String titel;
private BigDecimal prijs;
private Date datum;
public Voorstellingen(Long voorstellingsNr, Long VrijePlaatsen, Long genreNr,
String uitvoerders, String titel, BigDecimal prijs, Date datum) {
setVoorstellingsNr(voorstellingsNr);
}
}
this class also has getters and setters for every propertie (i havn't incorporated that because it would take up to much space).
view plaincopy to clipboardprint?
Note: Text content in the code blocks is automatically word-wrapped
package be.cultuurhuis.DAO;
import be.cultuurhuis.util.Voorstellingen;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class voorstellingenDAO {
private static final String FIND_VOORSTELLING =
"select * "
+ "from voorstellingen where genrenr = ?";
private final DatabaseUtil databaseUtil = new DatabaseUtil();
private static final long serialVersionUID = 1L;
public List<Voorstellingen> findVoorstelling(long genrenr) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultset = null;
try {
List<Voorstellingen> voorstellingen = new ArrayList<Voorstellingen>();
connection = databaseUtil.getConnection();
statement = connection.prepareStatement(FIND_VOORSTELLING);
statement.setLong(1, genrenr);
resultset = statement.executeQuery();
while (resultset.next()) {
voorstellingen.add(resultsetRijNaarVoorstelling(resultset));
}
return voorstellingen;
} catch (SQLException ex) {
throw new DAOException("Kan voorstellingen niet lezen uit database", ex);
} finally {
databaseUtil.close(resultset, statement, connection);
}
}
private Voorstellingen resultsetRijNaarVoorstelling(ResultSet resultset) throws SQLException {
return new Voorstellingen(resultset.getLong("voorstellingsNr"),
resultset.getLong("vrijeplaatsen"),
resultset.getLong("genrenr"),
resultset.getString("uitvoerders"),
resultset.getString("titel"),
resultset.getBigDecimal("prijs"),
resultset.getDate("Datum"));
}
}
package be.cultuurhuis.DAO;
import be.cultuurhuis.util.Voorstellingen;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
public class voorstellingenDAO {
private static final String FIND_VOORSTELLING =
"select * "
+ "from voorstellingen where genrenr = ?";
private final DatabaseUtil databaseUtil = new DatabaseUtil();
private static final long serialVersionUID = 1L;
public List<Voorstellingen> findVoorstelling(long genrenr) {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultset = null;
try {
List<Voorstellingen> voorstellingen = new ArrayList<Voorstellingen>();
connection = databaseUtil.getConnection();
statement = connection.prepareStatement(FIND_VOORSTELLING);
statement.setLong(1, genrenr);
resultset = statement.executeQuery();
while (resultset.next()) {
voorstellingen.add(resultsetRijNaarVoorstelling(resultset));
}
return voorstellingen;
} catch (SQLException ex) {
throw new DAOException("Kan voorstellingen niet lezen uit database", ex);
} finally {
databaseUtil.close(resultset, statement, connection);
}
}
private Voorstellingen resultsetRijNaarVoorstelling(ResultSet resultset) throws SQLException {
return new Voorstellingen(resultset.getLong("voorstellingsNr"),
resultset.getLong("vrijeplaatsen"),
resultset.getLong("genrenr"),
resultset.getString("uitvoerders"),
resultset.getString("titel"),
resultset.getBigDecimal("prijs"),
resultset.getDate("Datum"));
}
}
view plaincopy to clipboardprint?
Note: Text content in the code blocks is automatically word-wrapped
package be.cultuurhuis.servlets;
import be.cultuurhuis.DAO.GenresDAO;
import be.cultuurhuis.DAO.voorstellingenDAO;
import be.cultuurhuis.util.Voorstellingen;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
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;
/**
*
* @author Kenneth
*/
@WebServlet("/voorstellingen")
public class voorstellingenServlet extends HttpServlet {
private static final String VIEW="/WEB-INF/Voorstellingen.jsp";
private GenresDAO genresDAO = new GenresDAO();
private voorstellingenDAO voorstellingenDAO = new voorstellingenDAO();
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getParameter("genrenr")!=null){
Long genreNr = Long.parseLong(request.getParameter("genrenr"));
List<Voorstellingen> voorstellingen= voorstellingenDAO.findVoorstelling(genreNr);
request.setAttribute("voorstellingen", voorstellingen);
}
request.setAttribute("genres", genresDAO.findAllGenres());
RequestDispatcher dispatcher = request.getRequestDispatcher(VIEW);
dispatcher.forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher(VIEW);
dispatcher.forward(request, response);
}
}
package be.cultuurhuis.servlets;
import be.cultuurhuis.DAO.GenresDAO;
import be.cultuurhuis.DAO.voorstellingenDAO;
import be.cultuurhuis.util.Voorstellingen;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
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;
/**
*
* @author Kenneth
*/
@WebServlet("/voorstellingen")
public class voorstellingenServlet extends HttpServlet {
private static final String VIEW="/WEB-INF/Voorstellingen.jsp";
private GenresDAO genresDAO = new GenresDAO();
private voorstellingenDAO voorstellingenDAO = new voorstellingenDAO();
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getParameter("genrenr")!=null){
Long genreNr = Long.parseLong(request.getParameter("genrenr"));
List<Voorstellingen> voorstellingen= voorstellingenDAO.findVoorstelling(genreNr);
request.setAttribute("voorstellingen", voorstellingen);
}
request.setAttribute("genres", genresDAO.findAllGenres());
RequestDispatcher dispatcher = request.getRequestDispatcher(VIEW);
dispatcher.forward(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher(VIEW);
dispatcher.forward(request, response);
}
}
the servletclass
view plaincopy to clipboardprint?
Note: Text content in the code blocks is automatically word-wrapped
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="contextPath" value="${pageContext.servletContext.contextPath}"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Het Cultuurhuis - Voortellingen</title>
</head>
<body>
<div id="container">
<div id="titelEnMandje">
<h1>Het Cultuurhuis - Voorstellingen</h1>
<c:url value="/images/voorstellingen.png" var="imgVoorstelling"/>
<img src="${imgVoorstelling}">
</div>
<div id="genres">
<h2>Genres</h2>
<c:forEach var="genre" items="${genres}">
<c:url value="/voorstellingen" var="url">
<c:param name="genrenr" value="${genre.genreNr}"/>
</c:url>
<a href="${url}">${genre.naam}</a>
</c:forEach>
</div>
<div id="voorstellingen">
<c:if test="${not empty voorstellingen}">
<table border="1">
<tr>
<th>Datum</th>
<th>Titel</th>
<th>Uitvoerders</th>
<th>Prijs</th>
<th>Vrije Plaatsen</th>
<th>Reserveren</th>
</tr>
<c:forEach var="voorstelling" items="${voorstellingen}" >
<tr>
<td>${voorstelling.datum}</td>
<td>${voorstelling.titel}</td>
<td>${voorstelling.uitvoerders}</td>
<td>${voorstelling.prijs}</td>
<td>${voorstelling.vrijePlaatsen}</td>
<td>reserveren</td>
</tr>
</c:forEach>
</table>
</c:if>
</div>
</div>
</body>
</html>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:set var="contextPath" value="${pageContext.servletContext.contextPath}"/>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Het Cultuurhuis - Voortellingen</title>
</head>
<body>
<div id="container">
<div id="titelEnMandje">
<h1>Het Cultuurhuis - Voorstellingen</h1>
<c:url value="/images/voorstellingen.png" var="imgVoorstelling"/>
<img src="${imgVoorstelling}">
</div>
<div id="genres">
<h2>Genres</h2>
<c:forEach var="genre" items="${genres}">
<c:url value="/voorstellingen" var="url">
<c:param name="genrenr" value="${genre.genreNr}"/>
</c:url>
<a href="${url}">${genre.naam}</a>
</c:forEach>
</div>
<div id="voorstellingen">
<c:if test="${not empty voorstellingen}">
<table border="1">
<tr>
<th>Datum</th>
<th>Titel</th>
<th>Uitvoerders</th>
<th>Prijs</th>
<th>Vrije Plaatsen</th>
<th>Reserveren</th>
</tr>
<c:forEach var="voorstelling" items="${voorstellingen}" >
<tr>
<td>${voorstelling.datum}</td>
<td>${voorstelling.titel}</td>
<td>${voorstelling.uitvoerders}</td>
<td>${voorstelling.prijs}</td>
<td>${voorstelling.vrijePlaatsen}</td>
<td>reserveren</td>
</tr>
</c:forEach>
</table>
</c:if>
</div>
</div>
</body>
</html>
this is the jsp
Now on to my problem:
when I run the weppage there is space reserved for each propertie I call in the last <c:forEach> of the JSP
view plaincopy to clipboardprint?
Note: Text content in the code blocks is automatically word-wrapped
<c:forEach var="voorstelling" items="${voorstellingen}" >
<tr>
<td>${voorstelling.datum}</td>
<td>${voorstelling.titel}</td>
<td>${voorstelling.uitvoerders}</td>
<td>${voorstelling.prijs}</td>
<td>${voorstelling.vrijePlaatsen}</td>
<td>reserveren</td>
</tr>
</c:forEach>
<c:forEach var="voorstelling" items="${voorstellingen}" >
<tr>
<td>${voorstelling.datum}</td>
<td>${voorstelling.titel}</td>
<td>${voorstelling.uitvoerders}</td>
<td>${voorstelling.prijs}</td>
<td>${voorstelling.vrijePlaatsen}</td>
<td>reserveren</td>
</tr>
</c:forEach>
but there is no value placed as if all el-statements return an empty string.
I have looked and looked for what might be the problem, but havn't found the solution.
If anyone coud help me in the right direction or give me a hint I would be very gratefull.
public class Voorstellingen {
private Long voorstellingsNr;
private Long vrijePlaatsen;
private Long genreNr;
private String uitvoerders;
private String titel;
private BigDecimal prijs;
private Date datum;
public Voorstellingen(Long voorstellingsNr, Long VrijePlaatsen, Long genreNr,
String uitvoerders, String titel, BigDecimal prijs, Date datum) {
setVoorstellingsNr(voorstellingsNr);
}
}
public class Voorstellingen {
private Long voorstellingsNr;
private Long vrijePlaatsen;
private Long genreNr;
private String uitvoerders;
private String titel;
private BigDecimal prijs;
private Date datum;
public Voorstellingen(Long voorstellingsNr, Long VrijePlaatsen, Long genreNr,
String uitvoerders, String titel, BigDecimal prijs, Date datum) {
setVoorstellingsNr(voorstellingsNr);
}
}
The contructor sets only one field, voorstellingsNr, the others do not appear to be set. How are they supposed to get values?