【问题标题】:<f:view> beforePhase method called twice when page loads<f:view> 页面加载时调用了两次 beforePhase 方法
【发布时间】:2013-06-17 22:38:15
【问题描述】:

我正在尝试在页面加载时捕获 url 参数。我使用标签内的 beforePhase 属性来调用处理 PhaseEvent 的支持 bean 方法。我能够读取参数,但似乎有一些问题。支持 bean 方法执行两次。第一次我得到所有 url 参数,但第二次我得到空值。

这是我得到的控制台中的输出(“BeforePhase ONLOAD”行是我在方法中的 SOP 语句。如您所见,SOP 被打印了两次(以下是控制台输出)-


* <_checktimestamp> Apache Trinidad 运行时启用了时间戳检查。这不应该在生产环境中使用。请参阅 WEB-INF/web.xml 中的 org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION 属性

加载前阶段

<_isbeanvalidationavailable> Bean Validation 提供者不存在,因此 bean 验证被禁用

前相加载***


我必须使用这些 url 参数将其绑定到视图对象并检索页面的数据。但是,如果该方法被调用两次,就像这里调用的一样,那么第二次会导致一些数据库错误,或者最终我不会在屏幕上看到任何记录。

有没有办法解决这个问题?

我实际上遵循了此页面上看到的方法 1 示例 - http://jneelmani.blogspot.com/2013/01/adf-how-to-call-method-on-page-load.html。在这个例子中,他展示了如何避免 beforePhase 被多次调用,我已经这样做了,但该方法仍然被调用了两次。

这里的任何建议都会有所帮助。

谢谢。

【问题讨论】:

    标签: oracle-adf jdeveloper


    【解决方案1】:

    您当然知道 ADF 已经支持可收藏页面和 URL 参数的机制?

    http://myadfnotebook.blogspot.pt/2010/11/bookmarking-with-adf.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 2014-02-24
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      相关资源
      最近更新 更多