【问题标题】:How to make myfaces-impl refresh on file change?如何使 myfaces-impl 在文件更改时刷新?
【发布时间】:2023-04-07 22:15:01
【问题描述】:

Facelets servlet 有一个 init-param facelets.REFRESH_PERIOD。但是,将其设置为特定值是没有意义的。当它太小时,比如 10 秒,缓存将超时太快。当它不是那么小时,比如 5 分钟,那么当对 xhtml 文件进行小的更改时,我必须经常重新启动 Web 服务器。 10 到 300 秒之间的值可能更好,但绝不是最好的。

我正在使用 Apache myfaces-impl,我对 Sun JSF RI 了解不多。 (Sun JSF RI 在我们的项目中不起作用)所以,我不知道这个问题是否特定于 Apache Myfaces?

好吧,与其指定REFRESH_PERIOD,我可以让myfaces-impl 刷新那些已更改的文件吗?

(我猜 myfaces-impl 可能没有获取文件最后修改时间,因为它将文件解析为 URL,并且 URL 没有最后修改时间属性,是吗?或者我应该有自己修补 myfaces-impl?)

【问题讨论】:

    标签: facelets myfaces


    【解决方案1】:

    关注MyFaces Web Config Params

    javax.faces.FACELETS_REFRESH_PERIOD 是标准参数名称。

    此参数用于在开发时重建视图,因此您可以更改页面并即时检查更改。您无需在生产中设置它。尝试将其设置为 -1 并禁用它。这可以按预期工作,因为实际上来自两个 jsf 实现通用的原始 facelets 代码。众所周知,Google Application Engine (GAE) 等环境不允许获取文件的最后修改时间,但我不认为这是您的情况。

    【讨论】:

      猜你喜欢
      • 2023-01-29
      • 2014-07-06
      • 2010-11-23
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多