Icefaces和Java,在partialSubmit之后更新值

Icefaces和Java,在partialSubmit之后更新值,java,ajax,jsp,icefaces,Java,Ajax,Jsp,Icefaces,我将Java与Tomcat6和Icefaces(我想是1.8)结合使用 我有5个接受十进制值的字段,然后在它们旁边有一个第6个字段(禁用),这是前5个字段的总和。我希望第6个字段自动计算5的和并显示它 这是我使用的代码。它有两个文本框,一个是输入,另一个是输出(我使用了一个inputText作为输出,因为它看起来更好) 在值侦听器中,我对数组的5个值求和,然后保存值(can_sum) 这是可行的,但唯一的问题是延迟。假设我输入第一个文本框的值,它在我取消焦点后刷新,但输出值为0。然后,我更改

我将Java与Tomcat6和Icefaces(我想是1.8)结合使用

我有5个接受十进制值的字段,然后在它们旁边有一个第6个字段(禁用),这是前5个字段的总和。我希望第6个字段自动计算5的和并显示它

这是我使用的代码。它有两个文本框,一个是输入,另一个是输出(我使用了一个inputText作为输出,因为它看起来更好)


在值侦听器中,我对数组的5个值求和,然后保存值(can_sum)

这是可行的,但唯一的问题是延迟。假设我输入第一个文本框的值,它在我取消焦点后刷新,但输出值为0。然后,我更改第二个文本框的值,在我取消焦点后,它提交,但输出值现在只是第一个文本框的值。我改变了3的值,现在输出是1和2的和。我怎样才能消除这种延误?如果不太难,有人能解释运行属性之后的优先级吗

多谢各位

<ice:panelGroup styleClass = "exampleBox selectionContainer">
    <ice:panelGrid columns = "2" styleClass = "verticalAlignTop">
        <ice:outputLabel for = "percent_O_can" value = "Other %:" style = "text_align: right"></ice:outputLabel> 
            <ice:inputText id="percent_O_can" size = "4" maxlength = "4" partialSubmit = "true" valueChangeListener = "#{new_Partner.can_total }" value="#{new_Partner.can_students[4]}" required="false">
        <f:validator validatorId="partners.decimalValidator" /> </ice:inputText> 
    </ice:panelGrid>
</ice:panelGroup>
<ice:message for = "percent_O_can" ></ice:message>

<ice:outputLabel for="can_total" value="Total Percentage" style="text-align: right;">
</ice:outputLabel>
<ice:panelGroup>
    <ice:inputText id="can_total" value="#{new_Partner.can_sum}" disabled="true" maxlength = "4">
    </ice:inputText>
<ice:message for="can_total" />
</ice:panelGroup>