首先感谢您的阅读!所以我这周刚刚学习了 JSP 和 Servlet,今天早上我开始处理一个程序,它接受来自表单的评论,然后将它们全部显示在同一页面上!到目前为止,它运行良好,但我无法将此程序带入下一阶段。评论删除。
因此,我将评论输出的方式是将每个评论对象放在一个数组中,然后将每个评论字符串连接在一起。通过将每个评论放入一个静态变量中。
AllComments.addComment(comments[count].toString());
然后在我的 JSP 页面中我有这样的东西
<%=AllComments.getAllComments() %>
所以效果很好。一个新的评论进来,它被连接起来,然后所有的评论都被打印为一个格式化的字符串。
这个问题甚至被认为是有效的,通过将评论放在一起,我再也不能对他们做任何事情了。因此,这使得我无法执行下一步,即在每个评论旁边都有一个链接,并带有删除选项。
因此,为了做到这一点,我认为我需要在我的 JSP 页面上将评论显示为循环,并将每个评论显示为单独的字符串。然后,如果有人单击删除,我可以从数组中删除该评论!
到目前为止,这就是我在 JSP 页面中所做的尝试
<%
for (int i = 0; i < UserBean.getCommentCount(); i++)
{
%>
<%=comments[i].toString() %>
<%
}
%>
但是,这不起作用 b/c 注释引用变量的范围仅在受保护的 doPut 方法及其包中。那么我应该怎么做才能让我的评论在循环中一次输出一条评论!您可以在下面查看我的整个 servlet 类。感谢您抽出时间来阅读。
if (!request.getParameter("fullName").equals("") && !request.getParameter("comment").equals(""))
{
UserBean[] comments = new UserBean[10];
int count = UserBean.getCommentCount();
comments[count] = new UserBean();
comments[count].setFullName(request.getParameter("fullName"));
comments[count].setDate(String.valueOf(new Date()));
comments[count].setComment(request.getParameter("comment"));
AllComments.addComment(comments[count].toString());
UserBean.incrementCommentCount();
}