Это странно.Возможно, ваш компонент помещен в область действия сеанса и / или браузер запросил страницу из кэша.Для начала вы хотели бы отключить кэш браузера для всех динамических страниц с помощью фильтра , который устанавливает правильные заголовки ответа.
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse res = (HttpServletResponse) response;
if (!req.getRequestURI().startsWith(req.getContextPath() + ResourceHandler.RESOURCE_IDENTIFIER)) { // Skip JSF resources (CSS/JS/Images/etc)
res.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
res.setHeader("Pragma", "no-cache"); // HTTP 1.0.
res.setDateHeader("Expires", 0); // Proxies.
}
chain.doFilter(request, response);
}
Сопоставьте этот фильтр с именем сервлета FacesServlet
или по тому же шаблону URL.
И последнее, но не менее важное: не помещайте компоненты формы в область сеанса.Поместите их в запрос или просмотрите область.