我有一个控制器,用户在其中将信息填写到表单中。保存表单时,会创建 JPA 对象并将其保存到数据库中,并且用户会被重定向到另一个控制器以查看表单。我对在控制器之间传递整个对象不感兴趣,只是表示对象的字符串。我可以从数据库中重新加载对象,但是由于加载时间很慢,有什么方法可以在不访问数据库的情况下传递数据?
编辑: 当一个控制器重定向到另一个控制器时,我有兴趣将字符串从第一个控制器“发送”到重定向的控制器,以便显示这些字符串。
感谢您的帮助!
编辑2:
这是第一个控制器中的代码:
//Called by a commandButton
public String saveForm() {
//Objects are created and persisted to DB
//Store the Objects' names as strings. These are the values I want to access in the second controller
return "view_form.jsf?formId=" + formId.toString() + "&faces-redirect=true";
}
在名为的第二个控制器viewForm
中,我正在加载 formId viewParam
:
<f:metadata>
<f:viewParam name="formId" value="#{secondController.formId}" required="true"/>
<f:event type="preRenderView" listener="#{secondController.loadForm}"/>
</f:metadata>
在loadForm
我想访问在saveForm
. 我目前正在查看 Rodmar Conde 发布的关于在 Session Map 中存储数据的链接。这是解决这个问题的正确方法吗?
感谢您迄今为止的帮助!