facelets动态include的问题
facelets的主要功能是用来构造jsf组件树的。当请求一个页面时facelets首先将页面(xml格式)构造成FaceletHandler树,并缓存下来,然后遍历FaceletHandler树构造或更新jsf组件树,当再次请求同一页面时如果页面没有改变过就直接从缓存中获取对应的FaceletHandler树,如果页面改变了就构造新的FaceletHandler树。一个http url(浏览器直接访问)和一个includ url(页面内include)都对应自己的FaceletHandler树。
当页面改变后对于faces请求的组件树也应该重建组件树,这样显示页面时才能体现出最新的页面。为此facelets在页面apply时会刷新?this.refresh(parent)//只把子组件清除,就相当于把子组件的全部子组件清除,然后再根据新的FaceletHandler树生产新的组件树。对于http url不存在什么问题,对于include就会带来些莫名奇妙的问题。
。。。。。。。。。。。。