JSF Seam StatusMessages read from Java



我有一个JSF/Seam页面,并添加了一个新的非HTML界面。我重用了业务逻辑,所以StatusMessages.instance().add到处都用。

是否有一种默认方法可以从 Java 访问和处理此状态消息,或者我是否必须扩展基类并传递受保护的消息列表?

感谢

编辑:

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

没有返回他自己的消息列表(我在调试器中看到的条目)(FacesMessages.instance()与StatusMessages.instance()是同一个对象)

FacesMessages.instance().getCurrentMessages();

它正在称呼这个

FacesContext.getCurrentInstance().getMessages();

这返回了一个空的迭代器。

StatusMessages是以不依赖于您使用的视图技术的方式处理消息的抽象。

此抽象的默认实现是 org.jboss.seam.faces.FacesMessages 。这包含在Seam中,用于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()中自动使用。

相关内容

  • 没有找到相关文章

最新更新