Jsf tomahawk radio index提供IndexOutOfBoundsException异常

Jsf tomahawk radio index提供IndexOutOfBoundsException异常,jsf,tomahawk,Jsf,Tomahawk,我有下面的代码,但我不知道为什么会出错。这似乎表明我没有正确填充数据对象,但我已经硬编码了它,看不出xhtml代码有什么问题 <h:panelGrid id="aaaaa" columns="2" border="0" cellpadding="5" cellspacing="15" style="width:100%;border: 1px solid;"> <f:facet name="header">

我有下面的代码,但我不知道为什么会出错。这似乎表明我没有正确填充数据对象,但我已经硬编码了它,看不出xhtml代码有什么问题

 <h:panelGrid id="aaaaa" columns="2" border="0" cellpadding="5"
                        cellspacing="15" style="width:100%;border: 1px solid;">
      <f:facet name="header">
                            <h:outputLabel value="#{messages['hwdetail.header.aaaaa]}"/>

                        </f:facet>
                    <h:panelGrid columns="2" style="width:90%; margin: 8px 4px;">
                        <h:panelGroup>
                            <t:selectOneRadio id="radioButtons" layout="spread" forceId="true" forceIdIndex="false" value="#{objabbbbb.selectedCard}">
                                <s:selectItems value="#{objabbbbb.availableCards}" var="v" />
                                <!--  <f:converter converterId="cardJsfConverter" /> -->
                            </t:selectOneRadio>
                            <t:dataTable var="sim" style="width:50%;" value="#{objabbbbb.availableCards}" rowIndexVar="index">
                                <h:column>
                                    <t:radio   for=":mainform:radioButtons"    index="#{index}" />
                                </h:column>
                                <h:column>
                                    <b><h:outputLabel value="#{messages[bbb.i18nKey]}" /></b>
                                </h:column>
                                <h:column>
                                <h:outputLabel value="#{messages[ccc.currency.doll']}"/> <h:outputText value = "getDiscountedPrice(orderController.duration.duratioPLACEHOLDER"/>                                 </h:column>
                            </t:dataTable>
                        </h:panelGroup>
                    </h:panelGrid>

                   </h:panelGrid> 

您是否有一个名为“index.java”的java类?忽略最后一条注释,您是否在
objabbbbb
中有构造函数?@sinonach733是,
setAvailableCards(new ArrayList());添加(新选择项(“微”);添加(新选择项(“迷你(支架)”);添加(新选择项(“Nano”);添加(新选择项(“无”)正在发生在constructor@BalusC你能帮助你回答类似的问题吗?你应该编辑这个问题来显示构造器,它不是很清楚
                        <t:selectOneRadio id="radioButtons" layout="spread" forceId="true" forceIdIndex="false" value="#{objabbbbb.selectedCard}">
                            <s:selectItems value="#{objabbbbb.availableCards}" var="v" />
                            <!--  <f:converter converterId="cardJsfConverter" /> -->
                        </t:selectOneRadio>
                        <t:dataTable var="sim" style="width:50%;" value="#{objabbbbb.availableCards}" rowIndexVar="index">
                            <h:column>
                                <t:radio   for=":mainform:radioButtons"    index="#{index}" />
private List<SelectItem> selectedCard;
private List<SelectItem> availableCards;  
public objabbbbb() {      
setAvailableCards(new ArrayList<SelectItem>());
    availableCards.add(new SelectItem("Micro "));
    availableCards.add(new SelectItem("Mini (Stand) "));
    availableCards.add(new SelectItem("Nano "));
    availableCards.add(new SelectItem("None"));

}
public List<SelectItem> getAvailableCards() {
    return availableCards;
}
public void setAvailableCards(List<SelectItem> availableCards) {
    this.availableCards = availableCards;
Caused by java.lang.IndexOutOfBoundsException with message: "index 0 >= 0" 
org.apache.myfaces.renderkit.html.ext.HtmlRadioRenderer.renderRadio(HtmlRadioRenderer.java:131)
org.apache.myfaces.renderkit.html.ext.HtmlRadioRenderer.encodeEnd(HtmlRadioRenderer.java:79)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875)
org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChild(RendererUtils.java:540)