0

在这个初学者的 JSF教程中

第 1.1 节说:

JSF UI components and their state are represented on the server with a defined life-cycle of the UI components. 

但是在下面的示例中,我看不到 UI 组件的状态是如何由服务器管理的?该示例看起来像一个标准 servlet jsp 示例减去 servlet 映射。

我的另一个问题是,在示例中,我们直接访问 jsp。这是在 JSF 中做的标准事情,而不是使用 servlet 映射吗?

4

1 回答 1

0

首先,如果您是初学者,我鼓励您不要看那些旧的教程,而是找到一个好的 JSF 2.x 教程。JSF 2于 2009 年发布,您应该将其视为学习的分支,因为它与 1.x 旧版本相比具有几个优势。

对于您从浏览器发出的任何请求, JSF 都有自己的生命周期,可以是 GET 或 POST 请求,甚至是基于 ajax 的请求。与其他框架相比,您基本上必须了解 JSF 是有状态的。换句话说,您可以将组件的状态从一个请求保留到另一个请求(您实际上有一个视图状态,无论您执行多少请求都可以保留该状态,直到您更改视图为止)。

另外,关于你的最后一句话,在旧的 JSF 时代,servlet 映射过去是通过.*jsf后缀完成的。这意味着,当您在浏览器中发出请求时,jsf 将转换匹配的jsp页面并显示它。

然而,JSF 2 引入了基于.xhtml视图页面的 facelets。现在也可以将.xhtml源代码映射为一个.xhtml,JSF 将进行转换。这样做的主要优点是不允许最终用户查看源,因为浏览器的请求与源页面的 url 匹配,因此将始终调用 JSF servlet。

于 2013-10-17T06:54:15.700 回答