当前位置: 首页 > 面试题库 >

JSF中的viewstate是什么,如何使用?

宗政子琪
2023-03-14
问题内容

在JSF中,每个页面都有一个视图状态,该视图状态与Submit等来回传递。

我知道viewstate是使用页面上各种控件的状态计算得出的,您可以将其存储在客户端或服务器端。

问题是:如何使用此值?是否用于验证在提交时发送的值,以确保同一请求不会发送两次?

另外,它是如何计算的-我意识到Richfaces的计算方式可能与myfaces不同,但是有一个不错的主意。

谢谢。


问题答案:

问题是:如何使用此值?是否用于验证在提交时发送的值,以确保同一请求不会发送两次?

viewstate存在的最初原因是因为HTTP是无状态的。跨请求的组件状态需要以一种或另一种方式维护。您可以将状态存储在服务器上的内存中并将其绑定到会话,或者每次都在请求/响应中序列化/反序列化它。

AFAIK,viewstate并不用于检测重复提交,但是如果您附加了时间戳或类似的时间戳,则可以。

viewstate也可以被加密以确保客户端不会改变它。

另外,它是如何计算的-我意识到Richfaces的计算方式可能与myfaces不同,但是有一个不错的主意。

每个组件都有责任通过saveState和保持其状态restoreState(请参阅本教程)。因此,不同的组件套件会导致不同的视图状态。同样,不同的JSF实现可能会导致不同的视图状态。



 类似资料:
  • 主要内容:JSF的优点,使用JSF的前提条件JSF(JavaServer Faces)它是一个基于服务器端组件的用户界面框架。 它用于开发Web应用程序。 它提供了一个定义良好的编程模型,由丰富的API和标签库组成。最新版本使用作为其默认模板系统。 它是用Java编写的。 JSF API提供组件(,等)并帮助管理其状态。 它还提供服务器端验证,数据转换,定义页面导航,提供可扩展性,国际化支持,可访问性等。 JSF标签库用于在Web页面上添加

  • JSF、和组件具有属性。这是什么,这应该如何使用?web上有很多示例使用它,如下所示,根据所使用的标记,将常用内容/文件类型、和(或)作为库名: 它有什么用?这些示例中的值似乎只是重复标记名所表示的内容。对于,它基于标记名,即它表示“CSS库”。跟下面的有什么区别,它们也是同样的工作方式? 而且,生成的HTML输出有点不同。给定的上下文路径和映射到的URL模式上,前者将以库名作为请求参数生成以下H

  • 我整天都在尝试运行JSF应用程序的JMeter测试。我知道,但这似乎是一个非常简单的问题。我准备了正则表达式提取器: 以下采样器是用代理和记录创建的。 第一个请求。这是将从中提取ViewState的请求。 请求其中<代码>${jsfviewstee}被传递到 第二个请求在本例中非常重要。 结果是: 首先。在右边我们可以看到ViewState的值。 ,它显示jsfViewState值是正确的。我们可

  • 问题内容: 在JSF MVC框架中,谁是模型,视图和控制器? 问题答案: 这取决于观点(双关语意)。 在总体架构图中,你自己的JSF代码是V: M-Business domain/Service layer (e.g. EJB/JPA/DAO) V - Your JSF code C - FacesServlet 在开发人员图中,体系结构V可以如下划分: M - Entity V - Facele

  • 到目前为止,我遇到的所有示例都将用户重定向到页面,如果捕获到: 这就引发了一个问题--为什么要使用?

  • 在JSF中有很多关于属性和属性的区分材料。 我对这两种方法的不同感兴趣。给定: 当指定属性时,会发生什么非常简单。getter运行以返回bean的属性值。该值被打印到HTML输出中。 存储在哪里?