【问题标题】:Understanding how JSP populates the JSF UIViewRoot了解 JSP 如何填充 JSF UIViewRoot
【发布时间】:2012-05-22 14:14:00
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jsp jsf


    【解决方案1】:

    <f:xxx><h:xxx> 标签具有魔力。 <f:view> 标签代表UIViewRoot。此标记中的所有内容都由 JSF 渲染器处理,而不是由 JSP 处理。 JSP 只执行标记的主体,而标记主体又委托给所有 JSF 工作。 JSP 不会将普通标签打印到响应中(在浏览器中右键单击页面并执行 查看源代码,那里不应该有单个 JSF 标签,而只有它的 HTML 输出)。

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

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

    另见:

    【讨论】:

    • 好的,我知道 标签会填充 UIViewRoot,但是其他标签/文本呢,他们不会直接写入 servlet 响应吗, 就像接下来的 doctype 和 write 语句: <view><h1></h1> </view>
    • &lt;f:view&gt; 之外的任何内容都由标准 JSP 编写器处理。
    猜你喜欢
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 2012-11-16
    • 2021-05-03
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多