Есть две JSP-страницы и сервлет, отвечающий за передачу данных между ними:
Сервлет
public class MessageHandlerServlet extends HttpServlet {
Comment comm = new Comment();
List <String> commList = new ArrayList();
public void doPost(HttpServletRequest aRequest, HttpServletResponse aResponse)
throws ServletException, IOException {
aRequest.setCharacterEncoding("utf-8");
Date dt = new Date();
comm.setAuthor(aRequest.getParameter("author"));
comm.setMessagetext(aRequest.getParameter("message"));
comm.setDate(dt);
commList.add(comm.toString());
aRequest.setAttribute("listofmessages", commList);
RequestDispatcher dispatcher = aRequest.getRequestDispatcher("messages.jsp");
dispatcher.forward(aRequest, aResponse);
}
public void doGet(HttpServletRequest aRequest, HttpServletResponse aResponse)throws ServletException, IOException{
aRequest.setCharacterEncoding("utf-8");
aRequest.setAttribute("listofmessages", commList);
RequestDispatcher dispatcher = aRequest.getRequestDispatcher(aRequest.getContextPath());
dispatcher.forward(aRequest, aResponse);
}
}
newmessage.jsp
<%@page contentType="text/html" pageEncoding="utf-8"%>
<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>New message</title>
</head>
<body><h1>Please fill form</h1>
<a href="<%=request.getContextPath()%>/messages.jsp">View all messages</a><br/>
<form action="/GuestBook2/messagehandler" method="POST">
<h2>author name: </h2>
<p><input type="text" name="author" size="25" value=""/></p>
<h2>text: </h2>
<p><textarea name="message" wrap="virtual" cols="40" rows="4"></textarea></p>
<p><input type="submit" value="post new message"/></p>
</form>
</body>
</html>
messages.jsp
<%@page contentType="text/html" pageEncoding="utf-8"%>
<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="ru.ayaz.guestbook2.Comment"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>View all messages</title>
</head>
<body>
<a href="<%=request.getContextPath()%>/newmessage.jsp">add new message</a><br/>
<h1>List of messages</h1>
<%List <String> commlist = (ArrayList) request.getAttribute("listofmessages");
if(commlist != null)
{
for(String comm : commlist){%>
<tr><td align="center"><p><%=comm%><p><a href=#>to the top of page</a></p></p></td></tr><%}};%>
</body>
</html>
При добавлении нового сообщения на странице newmessage путем заполнения формы и передачи по нажатию кнопки оно появляется в списке на странице messages. Однако если переходить на страницу messages по гиперссылке View all messages то список записей пустой. В чем может быть причина?