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

时间:2015-03-26 14:26:42

标签: jsp http-headers el

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

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

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

  

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

如何打印单个标题名称和值?

1 个答案:

答案 0 :(得分:2)

这是一个Map<String, String[]>。因此,您需要迭代它才能访问条目。您可以使用JSTL <c:forEach>。每次迭代都会为您提供Map.Entry,而{{3}}又有getKey()getValue()方法。 getKey()将返回标题名称。 getValue()会将标头值返回为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>