【发布时间】:2015-03-11 11:56:42
【问题描述】:
我正在尝试使用 JSTL 与值进行比较,但我遇到了这个错误。
评估自定义操作属性“值”时出错 带有值“${item.ruleValues.size}”:“。”提供了操作员 将“java.lang.String”类型的索引值应用于列表 或数组,但该值不能转换为整数。 (空)
这是具体的代码行 -
<c:set var="nElCol" value="0" scope="page"/>
<c:forEach var="elem" items="${item.ruleValues}" varStatus="status">
<c:set var="size" value="${item.ruleValues.size}" scope="page" />
<c:set var="nElCol" value="${nElCol + 1}" scope="page"/>
<c:if test="${size == (nElCol-1)}">
<TD align="center" width="110">
<input id='<c:out value="${count}" />' type="text" name="fname" value='<c:out value="${elem}"/>'>
</TD>
<TD align="center" width="110">
<img src="/XA-IME-PF/public/img/Plus.jpg" alt="add" width="10" height="10"/>
</TD>
</c:if>
</c:forEach>
item 对象就是这个:
public class BoElementToPrint implements Serializable{
private List ruleValues;
/**
* @return
*/
public List getRuleValues() {
return ruleValues;
}
/**
* @param list
*/
public void setRuleValues(List list) {
ruleValues = list;
}
}
ruleValues 是一个字符串列表。
【问题讨论】:
-
应该是
<c:set var="size" value="${item.ruleValues.size}" scope="page" /> -
好的,我发现另一个错误:评估自定义操作属性“value”时发生错误,值为“${item.ruleValues.size}”:“。”为运算符提供了“java.lang.String”类型的索引值以应用于列表或数组,但该值无法转换为整数。 (null)