JSTL(c标签)中报错net::ERR_INCOMPLETE_CHUNKED_ENCODING 200
出错代码如下:
<select id="prodType" name="prodType">
<c:forEach items="${prodTypeList }" var="item">
<c:choose>
<c:when test="${cspBusiSheet.prodType==item.dicCode}">
<option value="${item.dicCode}" selected="selected">${item.dicName}</option>
</c:when>
<c:otherwise>
<option value="${item.dicCode}">${item.dicName}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>
出错原因在 test="${cspBusiSheet.prodType == item.dicCode}" 这一段代码。这里cspBusiSheet.prodType是一个number类型,在el表达式中使用==比较时可能两边都是number类型时,number的长度超过20位时就会报错net::ERR_INCOMPLETE_CHUNKED_ENCODING 200,当长度小于20位这个表达式是没有报错的。
修复这个错误就是将 number 转为字符串后比较。el表达式number转为字符串使用 concat()函数。
最终改成如下解决了错误:
test="${''.concat(cspBusiSheet.prodType) == item.dicCode}"