我将哈希图传递给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>