我想understrand當我使用JSTL訪問地圖會發生什麼,在Hidden features of JSP/Servlet 在@ blausC的回答,他解釋發生了什麼,但是當我嘗試使用下面的代碼概念
<c:set var="resultMap" value="validationResults" scope="request"></c:set>
<c:if test="${resultMap['userName'] != null}">
${resultMap['userName'].details}
</c:if>
一困惑例外happend
Caused by: javax.el.PropertyNotFoundException: Property 'userName' not found on type java.lang.String
地圖的關鍵應該是字符串,所以whay就是這個例外,我試圖在上面的問題,同樣的異常的例子中,有一個人能告訴我,我有誤解?
編輯:我填充在servlet的地圖,並將其發送給在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);
地圖充滿時我做服務器端驗證,
Thanx提前。
我懷疑這會是原因,但我該怎麼處理map,因爲它的鍵是字符串? – palAlaa 2010-12-17 04:04:01
你如何填充resultMap? – Enrique 2010-12-17 04:05:22
如果resultMap是java.util.Map或java.lang.String,您是否調試過? – gbakernet 2010-12-17 04:08:09