JSF 可以使用 JSP 作为 View 定义语言。
根据我对JSP作用的理解是:它生成一个实现servlet接口(interface)的java类。当调用此 servlet 时,它会写入响应对象(即发送到 servlet 客户端)。
如果它只是写入响应对象,那么 UIViewRoot 是如何填充的?
渲染阶段怎么样?如果 JSP 已经写入响应,它还需要做什么?
最佳答案
这是<f:xxx>
和<h:xxx>
发挥魔力的标签。 <f:view>
标签代表UIViewRoot
。该标记内的所有内容均由 JSF 渲染器处理,而不是由 JSP 处理。 JSP 只是执行标签的主体,而标签的主体又委托(delegate)给所有 JSF 工作。 JSP 不会将普通标记打印到响应(在浏览器中右键单击页面并执行查看源代码,其中不应该有单个 JSF 标记,而只有其 HTML 输出)。
要了解有关“自定义”JSP 标记的更多信息,请查看 Java EE 5 tutorial .
请注意,在 JSP 的后继 Facelets 中 <f:view>
不是强制性的,它已经隐式使用了。
另请参阅:
关于jsp - 了解 JSP 如何填充 JSF UIViewRoot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10703866/