【发布时间】:2019-01-07 12:50:48
【问题描述】:
我在 jsp 中有一个表单,我通过 doPost 方法从中检索数据到 servlet,假设用户名和密码现在在同一个表单中有一个空的 textarea 字段,我想从 servlet 发送用户名,我该怎么做做吗?
【问题讨论】:
-
您要创建登录吗?
-
请贴出您的代码,以便其他人找到解决方案。
我在 jsp 中有一个表单,我通过 doPost 方法从中检索数据到 servlet,假设用户名和密码现在在同一个表单中有一个空的 textarea 字段,我想从 servlet 发送用户名,我该怎么做做吗?
【问题讨论】:
像这样编写你的 Servlet 类
public class ServletToJSP extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//communicating a simple String message.
String message = "Example source code of Servlet to JSP communication.";
request.setAttribute("message", message);
//Servlet JSP communication
RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("jsp url");
reqDispatcher.forward(request,response);
}
}
jsp页面
<%
String message = (String) request.getAttribute("message");
out.println("Servlet communicated message to JSP "+ message);
%>
【讨论】:
我不太了解你的情况。但是有两种常见的方法可以将数据从 servlet 发送到 JSP:
请求属性:如果数据沿着同一个请求传输,您可以使用此属性。
request.setAttribute("username",obj);
request.getRequestDispatcher("url").forward(request,response);
在 JSP 中:
<div>${username}</div>
会话属性:在会话期间使用它来保留数据
Session session = request.getSession(true); //true: create session if not existed
session.setAttribute("username",obj);
response.sendRedirect("url"); //or use request dispatcher to forward the request
在 JSP 中:
<div>${username}</div>
【讨论】: