Jsf tomahawk radio index提供IndexOutOfBoundsException异常
我有下面的代码,但我不知道为什么会出错。这似乎表明我没有正确填充数据对象,但我已经硬编码了它,看不出xhtml代码有什么问题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">
<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)