【问题标题】:I'm getting serverError-javax.faces.application.ViewExpiredException in Websphere Dev environment but not getting in my local environment我在 Websphere Dev 环境中得到 serverError-javax.faces.application.ViewExpiredException 但没有进入我的本地环境
【发布时间】:2018-11-12 11:25:47
【问题描述】:

我在使用 Ajax 的 JSF 页面上的 Websphere Dev 环境中得到 serverError-javax.faces.application.ViewExpiredException,但没有进入我的本地环境。代码在两种环境中都是相同的。我在本地使用 IDE 进行构建,在 Dev 中使用 Maven。 JSF 2.0,WAS 8.5。可能是什么原因造成的。

我查看了类似的帖子并实施了各种建议,例如使托管 bean 实现序列化接口等,但没有运气。由于两种环境中的代码相同,它是否与 Maven 构建有关?

org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION 为 20(默认)。

如果验证失败,我应该在字段上收到错误消息,但它会给出视图过期异常:

<h:inputText styleClass="inputs" id="assessmentStation" size="3" 
        maxlength="3"                                                                                                    
         required="true" requiredMessage="Assessment Station must be entered"
      <p:ajax event="blur" update="assessmentStationMsg"></p:ajax>
</h:inputText>

【问题讨论】:

  • 重现的步骤是什么?
  • 如果验证失败,我应该在字段上收到错误消息,但它会给出视图过期异常:
  • 所以当使用f:ajax 而不是p:ajax 时你不会得到这个?
  • f:ajax 导致错误消息显示在我本地 VM 的控制台中。在开发服务器上部署后 p: 和 f: 都导致了这个异常。所以,我需要使用 p:ajax 因为至少它在我的本地很好。什么可能导致此异常?唯一的区别是我使用 maven 为开发服务器构建,但在我的本地 VM 中使用 IDE。
  • 当我使用 f:ajax 时,我在本地 VM 上的控制台中出现以下问题。有一些未处理的 FacesMessage,这意味着并非每个 FacesMessage 都有机会被渲染。这些未处理的 FacesMessage 是: - 必须输入评估站

标签: ajax jsf primefaces jsf-2 websphere


【解决方案1】:

问题通过两种方法解决: 1. 将 STATE_SAVING_METHOD 更改为客户端解决了问题。 2. 没有会话cookie被返回给浏览器。我们更改为使用 https 并且正在返回 cookie,并且应用程序现在显示错误消息。我们会选择 2 :)

【讨论】:

    猜你喜欢
    • 2022-07-02
    • 2021-05-04
    • 2022-01-17
    • 1970-01-01
    • 2017-09-03
    • 2013-12-17
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多