使用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中是个好主意,下次用户需要使用表单时,只需要提供用户数据的部分(它不会改变,可能)自动填充。
所以,这个想法是:
总之,我不能使用具有默认值的资源包,因为它对每个用户都不同,并且实现登录系统是相当矫枉过正的。这就是为什么我想使用cookie自动填充表单的一部分,但我不知道使用JSF做这件事的最佳方法是什么。