【发布时间】:2019-01-17 18:48:40
【问题描述】:
我正在尝试一个简单的示例,将值从 servlet Servlet1.java 发送到客户端 JSP 页面 client1.jsp。
但我得到了空
这是代码Server1.java:
import java.io.*;
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
import java.util.*;
@WebServlet("/server1")
public class Server1 extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String name="Rahul";
request.setAttribute("myname",name);
//Servlet JSP communication
RequestDispatcher reqDispatcher = getServletConfig().getServletContext().getRequestDispatcher("/client1.jsp");
reqDispatcher.forward(request,response);
}
}
client1.jsp 的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<% String s=request.getParameter("myname");%>
Hello friends <%=s%>
</body>
</html>
【问题讨论】:
-
您正在设置属性并获取参数。尝试在你的 jsp 中获取属性。
-
我什至尝试过,但它再次显示为 null @DanielBarbarian
-
所以您使用的是
request.getAttribute("myname"),但这仍然为空?您是否正在向您的 servlet 发出 post 请求? -
您确定您正在向该 servlet 发出 POST 请求,而不是直接进入浏览器中的 jsp 页面?
-
试试
localhost:8080/mypro/server1。哦,将 servlet 代码中的doPost更改为doGet。