JSF уменьшает запрос поля в Backing Bean с поданными аннотациями в нем

Я не эксперт в JSF..

Есть фасоль.

@ManagedBean
@ViewScoped
public class ClientBean

Также код имеет класс Client (не bean-компонент, просто класс)

На самом деле ClientBean дублирует все поля из Client. Что не хорошо. Дублирование я имею в виду само по себе.

Кажется, причина дублирования заключается в предоставлении аннотаций к полям, которые ClientBean дублируют/имеют. Нравиться:

@NotEmpty
@KeyFormat
private String key;

Что было бы лучшим способом уменьшить дублирование? Скажем, обернуть Client на ClientBean.. Расширяет Client с помощью ClientBean.., чтобы иметь возможность использовать преимущество аннотаций.


person ses    schedule 06.06.2013    source источник
comment
Используйте #{clientBean.client.key} непосредственно в коде JSF.   -  person Luiggi Mendoza    schedule 07.06.2013


Ответы (1)


В вашем ClientBean есть поле Client:

@ManagedBean
@ViewScoped
public class ClientBean{
    private Client client;

    private Client getClient(){
       return client;
    }
}

И вы можете использовать EL вот так #{clientBean.client.name}

Если вы хотите уменьшить этот длинный EL, вы можете использовать JSTL(xmlns:c="http://java.sun.com/jsp/jstl/core"):

<c:set var="client" value="#{clientBean.client}"/>

И ваши выражения будут такими: #{client.name}

person Rest    schedule 11.06.2013