JSP和Java Servlet没有将参数传递给JSP文件

时间:2016-04-19 21:57:18

标签: java jsp tomcat servlets jstl

之前我没有遇到过这个问题,实际上我有一个不同类的工作实现。但由于某种原因,这个例子失败了。

我有一个名为InfoServlet.java的课程:

@WebServlet("/info_servlet")
public class InfoServlet extends HttpServlet {

  @Override
  protected void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      request.setAttribute("test", "hello world.");
      request.getRequestDispatcher("info_servlet.jsp").forward(request, response);
  }
}

我的jsp页面info_servlet.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html>
<html lang="en">
  <head>
     <title>Test</title>
  </head>
  <body>
    <h1>HELLO</h1>
    <p><c:out value="${test}" /></p>
  </body>
</html>

现在当我转到localhost:8080/MySite/info_servlet.jsp时,我的输出只是

HELLO

作为参考,我在java中使用tomcat 7和servlet 3.0。我没有在传递一个物体时遇到麻烦,所以我不确定为什么突然间它不能让我在info_servlet.jsp显示价值

1 个答案:

答案 0 :(得分:2)

一切都按预期工作。您正在servlet中设置“test”属性:如果直接转到.jsp,绕过servlet,则不会设置该属性。因此它的值为null,表达式语言将默默忽略它。