14

在 JSF 应用程序中,参数 javax.faces.FACELETS_REFRESH_PERIOD 可用于启用/禁用 XHTML 文件的自动重新加载。

我目前正在研究生产部署的正确配置,偶然发现即使在生产中我们当前也以 FACELETS_REFRESH_PERIOD=1 运行,这显然不是一个好主意。

这就引出了一个问题:这个参数的默认值是多少?

理想情况下,为了简单起见,我想从我们的生产配置中省略 FACELETS_REFRESH_PERIOD,并希望它使用“安全”的默认值 -1。但是,情况似乎并非如此,因为没有该参数,刷新似乎已启用(同时使用 Mojarra 和 MyFaces)。

我检查了 JSF 规范,虽然它描述了参数,但它没有给出默认值。这是规范中的故意遗漏吗?

4

1 回答 1

15

默认值取决于实现。

鉴于您使用的是 Mojarra,您可以在com.sun.faces.config.WebConfiguration类中找到默认值:

768         FaceletsDefaultRefreshPeriod(
769               "javax.faces.FACELETS_REFRESH_PERIOD",
770               "2"
771         )

(行号来自 Mojarra 2.0.0)

因此,默认值为2。我在任何 Mojarra 文档中都找不到这个。向 Mojarra人员发布问题报告以更好地记录它可能是值得的。

MyFaces 根据其文档还有一个默认值2.


更新:从 Mojarra 2.2.11 开始,默认值设置为-1if project stage is Production. 另见问题 3788

于 2012-10-23T15:47:29.413 回答