如何为没有web.xml的SpringBoot应用程序设置javax.faces.STATE_SAVING_METHOD?

问题描述 投票:0回答:1

我的应用程序基于SpringBoot和Primefaces 6.2(使用JoinFaces)。它只有一个页面,并且不涉及会话管理。如果我将UI闲置一会儿,然后尝试单击任何<p:commandButton><p:fileUpload>,则会在日志中看到javax.faces.application.ViewExpiredException。 (我的单个支持bean仅用@Named标记,并且我的功能都正常工作。)

我从其他帖子中了解到,我应该将javax.faces.STATE_SAVING_METHOD设置为值client,但是我不知道在哪里进行此设置,因为我的应用程序中没有web.xml。请指教。(或者,如果我有更好的方法来处理此问题而无需付出额外的努力,那真是太好了。我只需要页面可在页面处于空闲状态的任何bean状态下重新使用。)

spring-boot jsf
1个回答
0
投票

[跟随其他帖子,我添加了一个ServletContextInitializer实现,其中STATE_SAVING_METHODclient。...现在我不再获得ViewExpiredexception

@Configuration
public class ConfigureJSFContextParameters implements ServletContextInitializer {

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {

        servletContext.setInitParameter("javax.faces.STATE_SAVING_METHOD", "client");

    }

}
© www.soinside.com 2019 - 2024. All rights reserved.