在Facelets页面中使用Cookie填充表单

时间:2014-12-29 11:55:02

标签: jsf

使用Servlet在JSP页面中填充表单的一些输入非常简单:将输入的属性值设置为cookie的值:

<input id="id" type="text" value="${cookie.name.value}">

并且Servlet只是从请求中读取参数并将它们分配给bean。

现在我正在使用JSF 2.2 + Facelets,在这种情况下,value属性直接链接到bean:

<h:inputText value="#{Bean.property}"/>

并且不需要编写Servlet。

我想我可以使用中间辅助bean,并在处理表单提交时将值分配给真实的,但感觉不对。

这样做的最佳方式是什么?

更新

我想澄清我的意图:

表单很大,部分内容只是收集用户数据(姓名,电话,电子邮件地址等)。

我不想实施注册/登录系统,因为它不会经常使用,而且仅用于减少(但不是固定)的用户数量。因此,最好让用户每次填写其数据,而不是让用户在我们的系统中注册,并带来所有额外的复杂性:用户必须记住每月使用一次甚至更少的登录详细信息,我们必须实现登录系统,添加安全性......

但是,为了使表单更容易填写,我认为将用户数据存储在cookie中是个好主意,下次用户需要使用表单时,只需要提供用户数据的部分(它不会改变,可能)自动填充。

所以,这个想法是:

  1. 第一次,用户填写整个表格:我们实际需要的数据和用于联系目的的用户信息:姓名,电话,电子邮件地址等。
  2. 下一次,鉴于用户位于同一台计算机上,表单中用于收集用户信息以进行联系的部分已使用cookie填充。当然,用户可以在提交表单之前根据需要编辑联系人详细信息。
  3. 总之,我不能使用具有默认值的资源包,因为它对每个用户都不同,并且实现登录系统是相当矫枉过正的。这就是为什么我想使用cookie自动填充表单的一部分,但我不知道使用JSF做这件事的最佳方法是什么。

0 个答案:

没有答案