2011-12-16 59 views
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> 

他们为什么会工作不同?任何帮助表示赞赏 - 提前谢谢你。

回答

0

在一个你正在使用struts标签,并在其他EL。

尝试使用struts标签