热重新发布/部署静态xhtml文件问题

ndr*_*ina 2 deployment tomcat5.5 jsf-1.2

我注意到在以下环境中运行JSF页面"热部署"的许多问题:

  1. Eclipse Indigo(最新版本)
  2. Tomcat 5.5
  3. JSF 1.2
  4. Facelets View Handler

我注意到,如果我修改已经渲染的xhtml页面(例如元素的CSS样式),然后重新发布(通过Eclipse或手动复制Tomcat中的xhtml文件)这个页面(维护servlet容器),它没有告诉我当前的变化.

我也是徒劳的,在我的Web应用程序上设置了以下配置:

<Context 
    docBase="mywebapp" 
    path="/mywebapp" 
    reloadable="true" 
    cachingAllowed="false">
Run Code Online (Sandbox Code Playgroud)

我的最后一次尝试是典型的JSF页面处理的Restore-View阶段,不检查客户端视图(当然是xhtml页面)是否从上次加载到FacesContext中时发生了变化.

如果是这样,我如何强制为每个提交的请求构建一个新的UIViewRoot对象?

我为jsf页面中的每个更改重新启动tomcat服务器感到非常沮丧.

非常感谢您的支持.

小智 9

尝试将以下内容添加到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>
Run Code Online (Sandbox Code Playgroud)

它告诉JSF重新渲染Facelet.看看我如何把"1".在Prod环境中,您始终会使用"-1"来禁用此功能,因为facelet不应在Prod环境中更改.

您还需要确保可以使用Hot Deploy类和JSP资源.你可以在这里找到如何做到这一点:

http://ducquoc.wordpress.com/2010/11/06/eclipse-wtp-tomcat-hot-deploy/