使用JSTL时,JSP无法找到Servlet中设置的请求属性

时间:2019-05-12 19:30:02

标签: java jsp servlets jstl

当我尝试使用JSTL时,JSP无法识别我通过servlet提供给它的数据。我可以在JSP中使用Java代码访问请求属性,但不能使用JSTL。

我正在使用tomcat服务器。我尝试在使用Maven时更改pom xml中的某些依赖项。 现在我正在使用jstl的1.2版本。

来自pom.xml

<dependencies>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <scope>runtime</scope>
        </dependency>
...

来自servlet

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String data = "Some data, can be a String or a Javabean";
        request.setAttribute("data", data);
        request.setAttribute("userList", users);
        RequestDispatcher rd = request.getRequestDispatcher("/DisplayUsers.jsp");
        rd.forward(request, response);
    }
...

来自webapp文件夹中的.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<html>
<head>
    <title>Alle gespeicherten Nutzer</title>
    <meta content = "text/html; charset = UTF-8"/>
</head>
<body>
<% String name = request.getAttribute("data").toString(); //this works
out.print(""+name);
%>
<p>The data from servlet: ${data}</p> // THIS DOESN´T recognize data

预期的输出:来自servlet的数据:一些数据,可以是String或Javabean 实际输出:Servlet中的数据:$ {data}

1 个答案:

答案 0 :(得分:-1)

尝试将此导入用于jsp
 <%@页面的位置contentType =“ text / html; charset = UTF-8” language =“ java”%>  此<%@页面pageEncoding =“ UTF-8” contentType =“ text / html; charset = UTF-8” trimDirectiveWhitespaces =“ true”%>