2

我有关于 JSF2.0 如何将托管 Bean 与 xhtml 绑定的非常基本的问题?

说我有 value="#{MymanagedBean.property}" 的 inputtext

这个 MymanagedBean 引用是如何在 JSF 2 中解决的?

请在回答时考虑以下几点。

  1. 在更早的版本中,即使用 JSF 1.2,我们必须在 faces-config.xml 中编写绑定,但在 JSF 2 中,并不是必须拥有 faces-config.xml

  2. 如果您确实查看 xhtml 页面的源代码.. 您将找不到任何 MymanagedBean 参考。

那么它是怎么做的呢?

4

2 回答 2

5

在更早的版本中,即使用 JSF 1.2,我们必须在 faces-config.xml 中编写绑定,但在 JSF 2 中,并不是必须拥有 faces-config.xml

在 JSF2 中,这是通过@ManagedBean注解完成的。

@ManagedBean
public class MymanagedBean {
    // ...
}

在 webapp 启动期间,JSF 将扫描所有带有此注解的类的类路径并将它们收集到内存中。

如果您确实查看 xhtml 页面的源代码.. 您将找不到任何 MymanagedBean 参考。

这是正确的。JSF 在服务器机器上运行,生成 (X)HTML 页面,然后网络服务器将其发送到网络浏览器。网络浏览器没有 JSF 或任何其他服务器端语言的概念。网络浏览器只理解 HTML、CSS 和 JavaScript。

于 2010-05-09T21:50:44.033 回答
-1

在 webapp 启动期间,JSF 将扫描所有带有此注解的类的类路径并将它们收集到内存中。

哇!这肯定会使应用程序启动缓慢,特别是如果您的应用程序有数千个类文件。

于 2010-07-02T06:49:34.657 回答