【发布时间】:2017-12-27 04:17:00
【问题描述】:
我有两个文件。一个是 index.jsp,另一个是 users.java。
在 index.jsp 中,我有两个文本字段来接受用户名和电话号码。这被发送到 users.java servlet。值存储在会话中,并使用 RequestDispatcher 发送回相同的 index.jsp。我需要将这些值显示在表格中,并在使用更新值提交表单时不断更新此表格。
到目前为止,我可以将值返回到表中,但是当提交新表单时,旧行被新行替换,导致表只有一行。 如何通过追加行来更新表格?
这里是 index.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>PRODUCTS</title>
</head>
<body>
<form action=sample method="POST">
<pre>User Name Phone Number</pre>
<pre><input type="text" name="userName"> <input type="text" name="phoneNumber"></pre><br>
<input type="submit" value="submit">
</form>
<pre>
<table id=prod border=1>
<tr>
<th> User Name</th>
<th> Phone Number </th>
</tr>
<div id="output">
${requestScope.Output }
</div>
</table>
</pre>
</body>
</html>
这是 user.java 代码(我现在必须将值存储在会话中,以便以后使用。不知道如何保留表中的旧行)
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/sample")
public class sample extends HttpServlet {
private static final long serialVersionUID = 1L;
public sample() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession session=request.getSession();
String userName = request.getParameter("userName");
String phoneNumber= request.getParameter("phoneNumber");
session.setAttribute("uName",userName);
session.setAttribute("phNo",phoneNumber);
StringBuffer Output= new StringBuffer();
String add="<tr><td>"+session.getAttribute("uName")+"</td><td>"+session.getAttribute("phNo")+"</td></tr>";
Output.append(add);
request.setAttribute("Output",Output);
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
我得到的表格有一行包含用户名和电话号码。但是当我输入新的用户名和电话号码并提交表单时,表格将用新行替换旧行。我需要附加行。怎么做?
【问题讨论】:
-
在这种情况下,您需要一个应该设置的字符串列表。
-
保存从 index.jsp 传递的值的字符串列表?会尝试的。谢谢@ScaryWombat