1
我在表单中有一个bean的属性如下(费率是从FleetRateTypeCO一个HashMap来FleetRate []):Struts的 - 参数传递到bean属性时获得NPE
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>
他们为什么会工作不同?任何帮助表示赞赏 - 提前谢谢你。