我的表单中有一个bean属性如下(rate是从FleetRateTypeCO到FleetRate []的HashMap):
public FleetRate[] getRatesByType(int typeID) {
return this.rates.get(FleetRateTypeCO.getByID(typeID));
}
然后在我的jsp中我想做以下事情:
<c:when test="${not empty DedicatedFleetContractAdminForm.ratesByType[1]}">
...
</c:when>
但我得到一个空指针异常:
java.lang.NullPointerException
at javax.el.BeanELResolver$BeanProperty.read(BeanELResolver.java:259)
at javax.el.BeanELResolver$BeanProperty.access$000(BeanELResolver.java:209)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
at org.apache.el.parser.AstValue.getValue(AstValue.java:97)
at org.apache.el.parser.AstEmpty.getValue(AstEmpty.java:29)
但真正令我困惑的是,如果我尝试以下方法,它可以正常工作:
<logic:iterate property="ratesByType[1]" name="DedicatedFleetContractAdminForm" id="overheadRates">
...
</logic:iterate>
他们为什么会以不同的方式工作?任何帮助表示赞赏 - 谢谢你提前。
答案 0 :(得分:0)
在一个中你使用struts标签,在另一个EL中。
尝试使用struts标记