您的 JSP
中应该有一个带有
method="POST" 的表单
<form method="post">
<input type="number" name="number1" id="number1" />
+
<input type="number" name="number2" id="number2" />
<input type="submit" />
</form>
然后在您的 servlets 中,在 doPost 方法中,您必须使用 getParameter("name") 获取表单的参数,做你想做的事,然后重新发送到你的 JSP (setAttribute)。
不要忘记链接与你的jsp(我的例子的最后一行)
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String textNumber1 = request.getParameter("number1");
String textNumber2 = request.getParameter("number2");
int number1 = (!textNumber1.isEmpty() ? Integer.parseInt(textNumber1) : 0);
int number2 = (!textNumber2.isEmpty() ? Integer.parseInt(textNumber2) : 0);
int result = number1 + number2;
request.setAttribute("result", Integer.toString(result));
request.setAttribute("number1", Integer.toString(number1));
request.setAttribute("number2", Integer.toString(number2));
this.getServletContext().getRequestDispatcher("/WEB-INF/calc.jsp").forward(request, response);
}
最后在您的 JSP 上,从您的 servlet 中获取您希望与 getAttribute
显示在同一页面上的属性
<%
String number1 = (String) request.getAttribute("number1");
String number2 = (String) request.getAttribute("number2");
String result = (String) request.getAttribute("result");
if (number1 != null && number2 != null && result != null) {
out.print(String.format("<p>Result of %s + %s = <strong>%s</strong></p>", number1, number2, result));
}
%>
这个例子是一个小计算器,在表格的同一页上显示数字 1 + 数字 2 的结果;)