在我们的应用程序中,当从具有许多(〜40)输入字段的对话框中返回时,我们会收到View Expired Exception。
我对其进行了测试,并且在primefaces展示柜中遇到了相同的例外情况。
复制步骤:
您将被重定向到https://www.primefaces.org/showcase/viewExpired.xhtml
我认为发生此异常是因为对话框将返回的站点不再可用,因为仅保存了15个视图状态。
当我增加参数
web.xml中的org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION
到200,我不再遇到异常。
有没有一种方法可以避免这种异常而不增加参数,因为我们不想浪费资源。
我们还尝试了javax.faces.STATE_SAVING_METHOD = client,它可以正常工作,但是随后,网络流量却增加了10倍(每个请求2MB)
编辑 我有一个总和列,并且输入字段中的数字应该始终有两位十进制数字,因此我的输入字段看起来像这样。
<p:inputText style="text-align:right;"
rendered="#{attval.att.ac.catForNumericalData}"
size="#{attval.att.inputlength}" value="#{attval.att.quantity}">
<f:converter converterId="com.prosol.faces.converter.DoubleConverter" />
<p:ajax event="keyup" update="attributeTable" delay="1000"/>
</p:inputText>