Struts - 在将参数传递给bean属性时获取NPE

时间:2011-12-16 22:54:57

标签: struts properties jstl nullpointerexception

我的表单中有一个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>

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

1 个答案:

答案 0 :(得分:0)

在一个中你使用struts标签,在另一个EL中。

尝试使用struts标记

相关问题