Я хочу понять, что происходит, когда я использую JSTL для доступа к картам, в Скрытые функции JSP / Servlet
в ответе @ blausC он объяснил, что произошло, но когда я пытаюсь использовать следующий код
<c:set var="resultMap" value="validationResults" scope="request"></c:set>
<c:if test="${resultMap['userName'] != null}">
${resultMap['userName'].details}
</c:if>
произошло запутанное исключение
Caused by: javax.el.PropertyNotFoundException: Property 'userName' not found on type java.lang.String
Ключ карты должен быть строковым, поэтому, если это исключение, я попробовал примеры из приведенного выше вопроса и то же исключение. Может кто-нибудь сказать мне, где у меня возникло недопонимание?
Редактировать : Я заполняю карту в сервлете и отправляю ее на jsp
Map<String, ValidationResult> result = new HashMap<String, ValidationResult>();
aValidationResult = new ValidationResult();
check whether the field is valid or not if not fill the map
result.put("userName", aValidationResult);
result.put("group", aValidationResult);
если карта не пуста, вернуть карту в jsp
request.setAttribute("validationResults", result);
карта заполняется, когда я выполняю проверку на стороне сервера,
Спасибо заранее.