示例部分代码如下:
<select name="pushType" id="pushType" class="liebiao" style="width:100px;" οnchange="changeType(this.value);">
<c:forEach var="codeItem" items="${bean.codeItemList}">
<c:choose>
<c:when test="${codeItem.id == type}">
<option value="<c:out value="${codeItem.id}" />" selected="selected" /><c:out value="${codeItem.item_name}" /></option>
</c:when>
<c:otherwise>
<option value="<c:out value="${codeItem.id}" />" /><c:out value="${codeItem.item_name}" /></option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
其中<c:when test="${codeItem.id == type}">中codeItem是从后台传过来的,type亦是从后台中一个对象获取的,在前面有定义如下:
String type = StringUtil.trim(map.get("type"));
然后就是总是报错,因为type值那样写EL表达式无法取到。
这是网上看到的一个回复如下:el的内容无非就是在jsp的那个内置范围对象里的值。page,request,session,application,pageContext,用这些对象就可以取到el的值啊
String type = StringUtil.trim(map.get("pushType"));
request.setAttribute("type", type);
之后就可以取到了。