malformedXML: индекс или размер отрицательный или больше допустимой суммы

Вопрос:

Я использую JSF 2.0 и Twitter Bootstrap.

Я пытаюсь изменить значение в поле после запроса ajax. Тем не менее, я получаю ошибку malformedXML, когда я изменяю значение и inputText потерял фокус. Файл xhtml выглядит так:

<h:inputText value="#{product.count}>
<f:ajax listener="#{orderBean.changeTotal} render="outputTotal" />
<f:attribute name="productId" value="#{product.id}" />
</h:inputText>

.....

<h:outputText id="outputTotal" value="#{product.total}" />

.....

И у OrderBean есть код:

public void changeTotal(AjaxBehaviorEvent event) {

Integer id = (Integer) event.getComponent().getAttributes().get("productId");
for (FoProduct pio : fo_orderList) {

if (pio.getId() == id) {

pio.setTotal(pio.getCount() * pio.getPrice());

}

}
}

Результат: общее значение изменяется, а JSF показывает мне сообщение “mallformedXML: индекс или размер отрицательный или больше допустимой суммы”

PS: Больше xhtml для Гектора Уильяма:

<ui:repeat value="#{orderBean.fo_orderList}" var="product">
<h:form>
<div class="col-md-3">
<table class="table table-bordered table-hover table-condensed table-striped">
<tr>
<td>
Count:
</td>
<td>
<div class="input-group input-group-sm">
<h:inputText class="input-sm" value="#{product.count}" >
<f:ajax listener="#{orderBean.changeTotal}" render="outputTotal"/>
<f:attribute name="productId" value="#{product.id}" />
</h:inputText>
</div>
</td>
</tr>
<tr>
<td>
<h:outputLabel value="Price:" />
</td>
<td>
<div class="input-group input-group-sm">
<h:outputText value="#{product.price}" />
</div>
</td>
</tr>
<tr>
<td>
<h:outputLabel value="Total:" />
</td>
<td>
<div class="input-group input-group-sm">
<h:outputText id="outputTotal" value="#{product.total}" />
</div>
</td>
</tr>
</table>
</h:form>
</ui:repeat>

Оцените статью
TechArks.Ru
Добавить комментарий