尝试访问hashmap变量的jsp错误

时间:2015-10-01 04:50:19

标签: java jsp syntax-error

我将散列映射传递给jsp视图,如下所示:

@RequestMapping(value = "/query")
public String processRegistration(@ModelAttribute("query") Query query,
        Map<String, Object> model) {
...
HashMap<String, String> serviceRequestData = executeSelect(conn, stmt, query);
model.put("serviceRequestData", serviceRequestData);
...
}

并尝试访问密钥的值&#34; FN_Contact&#34;在jsp页面中的hashmap中如下:

<c:choose>
    <c:when test="${empty ${serviceRequestData[FN_Contact]}}">
    </c:when>
    <c:otherwise>
        <h3>Results:</h3>
        <h5>FirstName:</h5>
        ${serviceRequestData[FN_Contact]}<br>
    </c:otherwise>
</c:choose>

在这个jsp中,我试图检查该值是否为null,如果它不执行任何操作,否则打印数据。我收到以下语法错误:

 javax.el.ELException: Failed to parse the expression [${empty ${serviceRequestData[FN_Contact]}}]

2 个答案:

答案 0 :(得分:1)

使用 Java version is 1.8.0_51, Activator is 1.3.6, OS is windows 8, 64 - bit OS. 表达语言,

使用标准函数检查JSTL函数提供的长度

JSTL

使用以下jsp标记

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

答案 1 :(得分:0)

你试试这个

<c:when test="${empty serviceRequestData[FN_Contact]}">