JSF可以使用JSP作为视图定义语言。
根据我对JSP的作用的理解:它生成一个实现servlet接口的java类。调用此servlet时,它会写入响应对象(即发送到servlet客户端)。
如果只是写入响应对象,那么UIViewRoot是如何填充的?
渲染阶段如何,如果JSP已经写入响应,还有什么可以做呢?
答案 0 :(得分:2)
<f:xxx>
和<h:xxx>
标签可以实现神奇。 <f:view>
标记代表UIViewRoot
。此标记中的内容由JSF渲染器处理,而不是由JSP处理。 JSP只执行标记的主体,而标记又委托给所有JSF工作。 JSP不会将标签plain vanilla打印到响应中(在浏览器中右键单击页面并执行查看源,其中不应该有单个JSF标记,而只是其HTML输出)。
要了解有关“自定义”JSP标记的更多信息,请查看Java EE 5 tutorial。
请注意,在JSP的后继Facelets中,<f:view>
不是必需的,它已经被隐式使用。