首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JSF:初始请求和回发请求?

JSF:初始请求和回发请求?
EN

Stack Overflow用户
提问于 2010-05-13 05:28:31
回答 3查看 19K关注 0票数 22

请看下面这行JSF代码

代码语言:javascript
复制
<h:inputText id="name" value="#{customer.name}" />

引用自java.sun.com:

对于包含此标记的页面的初始请求,JavaServer Faces实现在生命周期的render response阶段计算#{customer.name}表达式。在此阶段,表达式仅访问来自customer bean的name的值,就像在立即求值中所做的那样。

对于回发请求,JavaServer Faces实现在生命周期的不同阶段对表达式求值,在此期间,将从请求中检索值、进行验证并将其传播到customer bean。

我不确定我是否理解初始请求和回发请求。客户端浏览器是否向two服务器发出两个不同的请求?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-05-13 05:41:44

初始请求是浏览器为了显示带有${customer.name}标记的页面而发出的请求。当浏览器发布部分或所有页面值,然后将最初发布的相同页面返回给客户端时,就会发生回发。例如,这可能是由于验证错误而发生的。

知道当前呈现的视图是否是回发的结果是很有用的。例如,您可能希望在回发后显示一条消息,但并不是每次刷新页面时都显示。

票数 15
EN

Stack Overflow用户

发布于 2011-06-20 17:29:49

初始请求仅传递Restore View和Render Response阶段,而回发请求在所有阶段(应用请求值、验证阶段等)下处理。

初始请求是通过单击链接并在地址栏中粘贴URL来创建的,而回发请求是通过单击提交按钮或任何post请求来发布表单来创建的。

票数 30
EN

Stack Overflow用户

发布于 2015-12-22 21:20:24

通常情况下,当您转到浏览器并输入应用程序的URL时,您将只有一个初始请求。这会使用您的cookie向服务器发出HTTP GET请求,例如JSESSIONID,但不使用要恢复的javax.faces.viewid。

当你有一个打开的页面,你做了一些烦人的事情,比如: window.location = newUrl ->,你也会发出一个初始请求。

当你做一些像jQuery("#somoeSubmitButton").click()这样的事情时,你将发布到服务器上,你的旧视图将被恢复--如果你请求faces context.isPostback()呢?你会变得真实。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2822883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档