JSF Seam StatusMessages читать из Java - PullRequest
0 голосов
/ 18 мая 2011

У меня есть страница JSF / Seam и добавлен новый не HTML-интерфейс.Я повторно использовал бизнес-логику, поэтому StatusMessages.instance (). Add используется везде.

Существует ли способ доступа и обработки этого StatusMessages из Java по умолчанию или мне нужно расширить базовый класс и передать список защищенных сообщений?

thx

Редактировать:

StatusMessages.instance().add(Severity.ERROR, "Please enter a username.");

FacesMessages не возвращает свой собственный список сообщений (где я видел запись в отладчике) (FacesMessages.instance () - это тот же объект, что и StatusMessages.instance ())

FacesMessages.instance().getCurrentMessages();

Он вызывает это

FacesContext.getCurrentInstance().getMessages();

и возвращает пустой итератор.

1 Ответ

1 голос
/ 19 мая 2011

StatusMessages - это абстракция для обработки сообщений способом, который не зависит от используемой вами технологии представления.

Реализация этой абстракции по умолчанию - org.jboss.seam.faces.FacesMessages. Это включено в шов для использования с JSF.

Если вы повторно используете вашу бизнес-логику с другой технологией представления, вы можете предоставить конкретную реализацию StatusMessages. Собственно, поэтому это абстракция.

@Scope(ScopeType.CONVERSATION)
@Name(StatusMessages.COMPONENT_NAME)
@Install(precedence=APPLICATION)
@BypassInterceptors
public class NonHtmlMessages extends StatusMessages
{
  /// implement here you message handling

Из-за приоритета @Install это будет автоматически использоваться во всех StatusMessages.instance().

...