Mad*_*bæk 26 java jsf facelets mojarra jrebel
我使用JRebel,Spring,JSF Mojarra 2.0.3和WebLogic 10.3热重新加载XHTML文件时遇到了一些问题.
JRebel成功地在/ WebContent下重新加载常规Java类和js/css文件,但不重载JSF的.xhtml文件.需要完整的重新发布才能在服务器上更新xhtml文件.
通过反复试验,我终于通过向web.xml添加一些facelets参数并创建自定义ResourceResolver来实现它,如本博文中所述.
但是,我想知道为什么这有效,更具体地说:
And*_*rey 46
JRebel处理/ WebContent文件夹更改.
问题是Facelets执行缓存而不重读已更改的文件.要强制重读,请在中指定以下参数web.xml.
JSF 2(Facelets 2.x):
<!-- Time in seconds that facelets should be checked for changes since last request. A value of -1 disables refresh checking. -->
<context-param>
<param-name>javax.faces.FACELETS_REFRESH_PERIOD</param-name>
<param-value>0</param-value>
</context-param>
<!-- Set the project stage to "Development", "UnitTest", "SystemTest", or "Production". -->
<!-- An optional parameter that makes troubleshooting errors much easier. -->
<!-- You should remove this context parameter before deploying to production! -->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
对于JSF 1.2(Facelets 1.x),参数是:
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>0</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
有关JSF上下文参数的更多信息:http://docs.jboss.org/jbossas/6/JSF_Guide/en-US/html/jsf.reference.html#standard.config.params
在您的情况下不需要该自定义资源解析器.该资源解析器只是从自定义文件系统文件夹中获取xhtml文件的一种棘手的方法.在你的情况下,JRebel做到了(甚至更多).
| 归档时间: |
|
| 查看次数: |
24872 次 |
| 最近记录: |