我常常对这两个阶段产生怀疑.以下是我的理解:
应用请求值
更新模型值
我在想我的理解是正确的.但是,阅读一些文章让我感到困惑.我想在这两个阶段让我更清楚.请澄清我.
Bal*_*usC 19
应用请求值
- 在此阶段,提交的值来自请求参数.然后将请求值设置到辅助bean中,即设置为组件UIInput
这不完全正确.这些值未设置到支持bean中.它们被设置为组件.基本上,UIInput组件树中的每个组件都会发生以下情况:
input.setSubmittedValue(request.getParameter(input.getClientId()));
Run Code Online (Sandbox Code Playgroud)
这input是UIInput和request现在HttpServletRequest.
更新模型值
- 在此阶段,已处理的值从backing bean(UIInput)传输到托管bean.(这是我们自定义的JSF bean).
也不完全正确.UIInput组件不是支持bean.基本上,UIInput组件树中的每个组件都会发生以下情况:
bean.setProperty(input.getValue());
Run Code Online (Sandbox Code Playgroud)
这里,bean和property基于输入的valuebinding,例如value="#{bean.property}".
总而言之,您的困惑显然是区分JSF组件树,JSF支持bean和JSF托管bean.JSF组件树是您在JSP/Facelets页面中定义的树,您可以通过它获取FacesContext#getViewRoot().JSF支持bean是Javabean类,其属性使用EL绑定到组件树,例如#{bean.property}.JSF托管bean是那些Javabean类的具体实例.它们可以是请求,会话或应用程序作用域(在JSF 2.0中也可以查看作用域).它是托管bean,其中实际设置和检索了值.
| 归档时间: |
|
| 查看次数: |
7928 次 |
| 最近记录: |