JSF 2.0 Редактировать пользователя szenario - PullRequest
1 голос
/ 04 сентября 2011

Я запрограммировал небольшое приложение, в котором вы можете регистрировать и редактировать свои данные.Для аутентичности я использовал класс бинов под названием Authenticity.Этот класс содержит объект Customer (который является объектом базы данных) и методы для входа и выхода.

Теперь я создал страницу для редактирования пользователя: форма со многими inputTexts, которые имеют значение 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 действительно редактировать пользователя?Или я должен создать дополнительный боб?

1 Ответ

2 голосов
/ 04 сентября 2011

Я бы использовал совершенно отдельный bean-объект области видимости, который содержит совершенно новую копию объекта, представляющего зарегистрированного пользователя.Только после успешного редактирования и сохранения формы можно заменить текущего вошедшего в систему пользователя (компонент формы может просто получить к нему доступ как @ManagedProperty).

Если вы повторно использовали ту же сущность вформа;представьте, что вы обновляете ajax некоторые поля, а затем отменяете / закрываете форму.В настоящее время вошедший в систему пользователь по-прежнему будет иметь значения поля «Неправильно» в остатке сеанса.Это не правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...