JSF 2 - показывать значение объекта, а не ключа - PullRequest
1 голос
/ 30 августа 2011

Я сижу на данный момент в устаревшей системе.У меня есть некоторые доменные объекты, которые содержат только ключ некоторых сущностей, теперь мне было интересно, какой будет лучший подход для отображения значения сущности вместо заданного ключа.

Можно ли это сделатьконвертером для тега <h:outputText />?

Например:

DomainObject

public class DomainObject {

    private String keyOfEntityA;

    // getter/setter

}

EntityA

public class EntityA {

private String key;
private String value;

// getter / setter

}

JSF

<h:outputText value="#{controller.domainObject.keyOfEntityA}" />

Я не хочу показывать ключ в этом случае, я хочу, чтобы объект и свойство value были показаны.

Есть ли элегантный способ достичь этого или мне нужно расширитьмой DomainObject с помощью класса-оболочки, который предоставляет необходимые объекты?

1 Ответ

3 голосов
/ 30 августа 2011

Либо замените EntityA на Map<String, String>, чтобы вы могли использовать

<h:outputText value="#{controller.map[controller.domainObject.key]}" />

, либо получите их все в Map<String, EntityA> с ключом EntityA в качестве ключа карты, чтобывы можете сделать

<h:outputText value="#{controller.entities[controller.domainObject.key].value}" />

У меня сложилось впечатление, что EntityA должен был действительно Map<String, String> с самого начала или java.util.Properties объект, если они содержат настройки конфигурации всего приложения, или, возможно, ResourceBundle с кучей файлов свойств, если они представляют локализованный контент.

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