我将哈希图传递给jsp View ,如下所示:

@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);
...
}

并尝试在jsp页面中按以下方式访问哈希图中的键“FN_Contact”的值:
<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]}}]

最佳答案

使用JSTL表达语言,

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

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

使用以下jsp标记,
<c:choose>
<c:when test="${fn:length(serviceRequestData)>= 1}">
    // Place the code what you want to do

</c:when>
<c:otherwise>
    // Nothing to display

</c:otherwise>
</c:choose>

09-11 15:54