Я пишу веб-приложение, которое использует сервлет для поддержки ArrayList объектов VideoData (они просто содержат основную информацию о фильмах, например, название, тип фильма и т. Д.).
Сервлет помещает этоПеречислите в области запроса и перенаправьте запрос и ответ на jsp (здесь показана только часть кода сервлета):
public class VideoServlet extends HttpServlet {
private ArrayList<VideoData> library = new ArrayList<VideoData>();
public void doGet(HttpServletRequest request,
HttpServletResponse response) {
try {
// put ArrayList in Request's scope
request.setAttribute("the_table", library);
request.getRequestDispatcher("/listvideos.jsp").forward(request,
response);
...
listvideos.jsp показан ниже.Я получаю сообщение об ошибке Tomcat о том, что URI для JSTL не может быть разрешен.Я использовал EL в других частях моего jsp-кода без необходимости иметь какую-либо специальную строку импорта, подобную этой, и я не уверен, что JSTL все еще является предпочтительным способом решения этого типа проблем, все еще пытаясь придерживаться MVC2 ихранение всего Java-кода в сервлете.Кто-нибудь может указать мне правильное направление здесь?В идеале я хотел бы получить чистое решение EL, если это возможно.
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
'http://www.w3.org/TR/html4/loose.dtd'>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>Cattle Drive Assignment Servlets-4: Videos</title>
</head>
<body>
<h1>Cattle Drive Assignment Servlets-4: Videos</h1>
<form method='post' action='/videos/VideoServlet'>
<a href="http://localhost:8080/videos/addvideo.jsp">Add a video</a>
<br>
<br>
<table border="1">
<tr>
<th>Title</th>
<th>Star</th>
<th>Type</th>
<th>VHS</th>
<th>DVD</th>
<th>Description</th>
</tr>
<c:forEach items="${the_table}" var="movie">
<tr>
<td>${movie.getTitle()}</td>
<td>${movie.getStar()}</td>
<td>${movie.getType()}</td>
<td>${movie.inVHS()}</td>
<td>${movie.inDVD()}</td>
<td>${movie.getDesc()}</td>
</tr>
</c:forEach>
</table>
</form>
</body>
</html>