Fai*_*sra 7 jsf compilation facelets
由于所有JSP在执行之前都会生成/转换为Servlet,对于Facelets来说也是如此吗?
我正在使用JSF 2.0和Facelets,并希望看到它生成的Java代码可能是Servlet.
Bal*_*usC 13
不,使用SAX解析器将Facelets文件解析为XML树.XML树存储在Facelet缓存中.XML树在视图构建时变成了一个UIComponent可以访问的树FacesContext#getViewRoot()(您可以getChildren()在运行时遍历).组件树通常由自己生成的HTML代码encodeXxx()的方法或在相关联的那些Renderer,从UIViewRoot#encodeAll().
Facelets文件不会生成任何类文件.默认情况下,XML树存储在服务器的内存中.但是,从JSF 2.1开始,您可以指定一个自定义FaceletCache实现<facelet-cache-factory>,faces-config.xml其中您可以编写代码来存储XML树,例如磁盘文件系统(尽管速度会慢一些).
如果<ui:debug>在视图中使用并打开它,则可以看到后面组件树的文本表示UIViewRoot.另请参见如何调试JSF/EL
| 归档时间: |
|
| 查看次数: |
1150 次 |
| 最近记录: |