My JSF Books/Videos My JSF Tutorials OmniFaces/JSF PPTs
JSF 2.3 Tutorial
JSF Caching Tutorial
JSF Navigation Tutorial
JSF Scopes Tutorial
JSF Page Author Beginner's Guide
OmniFaces 2.3 Tutorial Examples
OmniFaces 2.2 Tutorial Examples
JSF Events Tutorial
OmniFaces Callbacks Usages
JSF State Tutorial
JSF and Design Patterns
JSF 2.3 New Features (2.3-m04)
Introduction to OmniFaces
25+ Reasons to use OmniFaces in JSF
OmniFaces Validators
OmniFaces Converters
JSF Design Patterns
Mastering OmniFaces
Reusable and less-verbose JSF code

My JSF Resources ...

Java EE Guardian
Member of JCG Program
Member MVB DZone
Blog curated on ZEEF
OmniFaces is an utility library for JSF, including PrimeFaces, RichFaces, ICEfaces ...

[OmniFaces Utilities] - Find the right JSF OmniFaces 2 utilities methods/functions

Search on blog

Petition by Java EE Guardians

Twitter

miercuri, 27 mai 2015

[OmniFaces utilities 2.0] Add in flash scope a parameterized global (or to the given client ID) FATAL faces message


[OmniFaces utilities] The addFlashFatal() method adds a flash scoped FATAL faces message to the given clientId, with the given message body which is formatted with the given parameters. Use this when you need to display the message after a redirect.

Method:
Usage:

The information stored in flash scope "survives" one redirect. Let's suppose that the below code is in page A.xhtml:

<h:form>
 <h:commandButton value="Click Me!" action="#{myBean.myAction()}"/>
</h:form>

The myAction() method perform some tasks, including generating a global FATAL parameterized messages and redirecting to page, B.xhtml:

import org.omnifaces.util.Messages;
...
// FATAL message
private static final String USER_FATAL = "The database at {0} does not respond on port {1} !";
...
// for a certain component, replace null with clientId
public String myAction() {
// add a FATAL message as a global message in flash scope
Object[] params = new Object[]{"89.38.122.5", "5432"};
Messages.addFlashFatal(null, USER_FATAL, "89.38.122.5", "5432");
// or
Messages.addFlashFatal(null, USER_FATAL, params);

return "B?faces-redirect=true";
}

Now, in page B.xhtml, you will see this message:

// FATAL message
The database at 89.38.122.5 does not respond on port 5432 !

Note Don't forget to use in page where the messages are displayed the <h:messages>, for global messages, <h:message>, for component messages, or any other approach capable to display the messages.

Note By default, this example uses the OmniFaces default message resolver, but you can use your own message resolver as in Working with OmniFaces Message Resolvers.

Niciun comentariu :

Trimiteți un comentariu

JSF BOOKS COLLECTION

Postări populare

OmniFaces/JSF Fans

Follow by Email

Visitors Starting 4 September 2015

Locations of Site Visitors