JSF 2.0编辑用户szenario

我编写了一个小应用程序,您可以在其中注册和编辑您的数据。为了真实性,我使用了一个名为Authenticity的bean类。这个类包含Customer(它是一个数据库实体)的对象以及登录和注销的方法。JSF 2.0编辑用户szenario

现在我创建了一个用于编辑用户的页面:一个包含许多inputText的表单,其值为authenticity.curUser./(properties)。它看起来像这样:

 <h:form> 

<h:panelGrid columns="2" cellpadding="4px" width="600">

<h:outputText value="firstname:" />

<h:inputText value="#{authenticity.curUser.firstname}"/>

<h:outputText value="lastname:"/>

<h:inputText value="#{authenticity.curUser.lastname}" />

<h:outputText value="street:"/>

<h:inputText value="#{authenticity.curUser.street}" />

<h:outputText value="housebumber"/>

<h:inputText value="#{authenticity.curUser.housenumber}" />

<h:outputText value="Zip:"/>

<h:inputText value="#{authenticity.curUser.zip}" />

<h:outputText value="City:"/>

<h:inputText value="#{authenticity.curUser.city}" />

<h:outputText value="Land"/>

<h:inputText value="#{authenticity.curUser.country}" />

<h:outputText value="email:"/>

<h:inputText value="#{authenticity.curUser.email}" />

<h:outputText value="password:"/>

<h:inputSecret value="#{authenticity.curUser.password}" />

<h:commandButton action="#{authenticity.editUser}" value="Edit" />

</h:panelGrid>

</h:form>

我现在的问题是是否有更好的解决方案来解决这个问题。 AuthenticityBean应该真的能够编辑用户吗?或者我应该创建一个额外的bean?

回答:

我会使用一个完全独立的视图范围的bean,它包含代表登录用户的实体的全新副本。只有当表单被成功编辑并保存后,才能替换当前登录的用户(表单bean可以作为@ManagedProperty访问它)。

如果您在表单中重复使用同一个实体,想象你是ajax更新一些字段,然后取消/关闭表单。当前登录的用户将在会话的剩余部分中仍然存在“错误”字段值。这是不正确的。

以上是 JSF 2.0编辑用户szenario 的全部内容, 来源链接: utcz.com/qa/257874.html

回到顶部