1

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 我自己?)

4

1 回答 1

0

查看MyFaces Web 配置参数

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

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

于 2011-06-25T05:29:35.713 回答