Primefaces View Expired Exception в окне диалога - PullRequest
0 голосов
/ 19 ноября 2018

В нашем Приложении мы получаем исключение View Expired, когда возвращаемся из диалога со многими (~ 40) полями ввода.

Я протестировал его и получил то же исключение на витрине простых лиц.

Шаги для воспроизведения:

  1. перейдите на https://www.primefaces.org/showcase/ui/df/nested.xhtml
  2. нажмите «Вид», затем «перейти на уровень 2», затем нажмите на x, затем нажмите «перейти на уровень»2 снова ", повторите этот процесс примерно 40 раз, затем попытайтесь перейти на уровень 3

, вы будете перенаправлены на https://www.primefaces.org/showcase/viewExpired.xhtml

Я предполагаю, что это исключение происходитпотому что сайт, на который возвращалось бы диалоговое окно, больше не доступен, потому что только 15 состояний просмотра сохраняются.

Когда я увеличиваю параметр

org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION в web.xml

до 200 Я больше не получаю исключение.

Есть ли способ избежать этого исключения без увеличения параметра, потому что мы не хотим тратить ресурсы.

Мытакже пробовал javax.faces.STATE_SAVING_METHOD = клиент, и это сработало, но затем сетевой трафик увеличился в 10 раз (2 МБ на каждый запрос)

РЕДАКТИРОВАТЬ У меня есть столбец суммы и цифры в моемполя ввода всегда должны иметь две десятичные цифры, поэтому мои поля ввода выглядят так:

<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>
...