1

我正在使用 MyFaces 1.1.14。我有两个带有 JSF 组件的 JSPX 页面,并且我的托管 bean 在请求范围内。在第一页,bean 构造函数被触发,当我提交表单时,它再次被触发。但是在我的应用导航到新页面后,它并没有被解雇。构造函数应该被调用,对吧?

问题是该页面正在访问 bean 的某些属性——那些 setter 被调用——这没有问题,但为什么不调用构造函数呢?当页面被加载时,我需要从前一个进程(即来自不同的框架)中获取数据。我的理解有什么问题?

4

1 回答 1

1

默认情况下,导航不会触发新的 HTTP 请求。相反,不同的视图被用作当前 HTTP 响应的内容。<redirect/>只有当您通过将条目附加到 来进行重定向时,<navigation-case>才会创建新的 HTTP 请求。

如果您熟悉JSF 所基于的基本 Servlet APIRequestDispatcher#forward()的概念,您应该完全理解它。

也可以看看:

于 2013-04-12T12:16:39.930 回答