在 JSP 中使用 EL 打印 ${headerValues} 的个别名称和值

Print invidivual names and values of ${headerValues} using EL in JSP

我正在尝试在 JSP 页面中打印隐式 EL object ${headerValues},如下所示:

<!DOCTYPE html>
<html>
  <head>
    <title>Insert title here</title>
  </head>
  <body>
    ${headerValues}
  </body>
</html>

但是,它会打印以下输出:

javax.servlet.jsp.el.ImplicitObjectELResolver$ImplicitObjects@19255988

如何打印个人 header 名称和值?

这是一个 Map<String, String[]>。因此,您需要遍历它才能访问条目。您可以使用 JSTL <c:forEach> for this. Every iteration will give you a Map.Entry,它又具有 getKey()getValue() 方法。 getKey() 将 return 命名为 header。 getValue() 将 return 的 header 值作为 String[]。您需要另一个 <c:forEach> 来迭代它。

简而言之:

<dl>
    <c:forEach items="${headerValues}" var="entry">
        <dt>${entry.key}</dt>
        <c:forEach items="${entry.value}" var="headerValue">
            <dd>${headerValue}</dd>
        </c:forEach>
    </c:forEach>
</dl>