2

JSF 可以使用 JSP 作为视图定义语言。

根据我对 JSP 所做的理解是:它生成一个实现 servlet 接口的 java 类。当这个 servlet 被调用时,它会写入响应对象(即发送到 servlet 客户端)。

如果它只是写入响应对象,那么 UIViewRoot 是如何填充的?

渲染阶段怎么样,如果 JSP 已经写入响应,它还需要做什么?

4

1 回答 1

2

正是<f:xxx>and<h:xxx>标签发挥了作用。标签<f:view>代表. UIViewRoot此标记中的所有内容都由 JSF 渲染器处理,而不是由 JSP 处理。JSP 只执行标记的主体,而标记主体又委托给所有 JSF 工作。JSP 不会将普通标签打印到响应中(在浏览器中右键单击页面并执行View Source,那里应该没有单个 JSF 标记,而只有其 HTML 输出)。

要了解有关“自定义”JSP 标记的更多信息,请查看Java EE 5 教程

请注意,在 JSP 的后续 Facelets 中<f:view>,这不是强制性的,它已被隐式使用。

也可以看看:

于 2012-05-22T14:31:01.747 回答