我注意到在以下环境中操作 JSF 页面的“热部署”时出现很多问题:
- Eclipse Indigo(最新版本)
- 雄猫5.5
- JSF 1.2
- Facelets 视图处理程序
我注意到,如果我修改一个已经渲染的 xhtml 页面(例如元素的 CSS 样式),然后重新发布(通过 Eclipse 或手动复制 Tomcat 中的 xhtml 文件)该页面(维护 servlet 容器),它不向我显示当前的更改。
我还在我的网络应用程序上设置了以下配置,但徒劳无功:
<Context
docBase="mywebapp"
path="/mywebapp"
reloadable="true"
cachingAllowed="false">
我的最后一个观点是,典型 JSF 页面处理的恢复视图阶段不会检查客户端视图(当然是 xhtml 页面)自上次加载到 FacesContext 中以来是否已发生更改。
如果是这样,我如何强制为每个提交的请求构建一个新的 UIViewRoot 对象?
对于 jsf 页面的每次更改,我都非常沮丧地重新启动 tomcat 服务器。
多谢您的支持。
尝试将以下内容添加到您的 web.xml 配置文件中:
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>1</param-value>
</context-param>
它告诉 JSF 重新呈现 Facelet。看看我如何输入“1”。在产品环境中,您始终会输入“-1”来禁用此功能,因为在产品环境中不应更改facelets。
您还需要确保可以热部署类和 JSP 资源。您可以在这里找到如何执行此操作:
http://ducquoc.wordpress.com/2010/11/06/eclipse-wtp-tomcat-hot-deploy/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)