2011-12-16 46 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標籤