JSF и JPA лучшие практики - PullRequest
       0

JSF и JPA лучшие практики

6 голосов
/ 11 февраля 2011

У меня небольшой опыт работы с JSF, и я хотел бы узнать лучшие практики по созданию классического приложения crud с возможностями поиска. В частности, я сомневаюсь в этом последнем; У меня есть форма, где пользователь вводит идентификатор объекта; Все мои сущности сопоставлены с jpa и сессионным компонентом фасада. Но на странице jsf, как я могу прочитать параметр, вызвать метод поиска и затем отобразить свойства объекта? Должен ли я использовать сервлет, который получает объект и сохраняет его в области запроса и доступа к нему с помощью JSF EL?

Заранее спасибо

1 Ответ

4 голосов
/ 11 февраля 2011

Вам не нужен сервлет. Просто внедрите фасад сеанса / EJB с помощью @EJB в управляемый компонент и вызовите его в методе действия компонента, а затем отобразите его обычным способом JSF / EL на странице результатов.

Вид:

<h:form>
    <h:inputText value="#{bean.search}" />
    <h:commandButton value="search" action="#{bean.submit}" />
</h:form>
<h:panelGroup rendered="#{not empty bean.result}">
    <p>#{bean.result.someProperty}</p>
</h:panelGroup>

Модель:

@ManagedBean
@RequestScoped
public class Bean {

    private String search; // +getter +setter
    private Data result; // +getter

    @EJB
    private DataFacade dataFacade;

    public void submit() {
        result = dataFacade.find(search);
    }

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