sâmbătă, 30 mai 2015

[OmniFaces utilities 2.0] Working with OmniFaces faces message builder


[OmniFaces utilities] The Message class represents the OmniFaces faces message builder.

Class:
See also: Faces#getFlash()
Usage:

In order to use the OmniFaces faces message builder, we start from a  faces message with the default INFO severity and the given message body which is formatted with the given parameters as summary message. This message can be obtained via Messages#create() method as below:

import org.omnifaces.util.Messages;
import org.omnifaces.util.Messages.Message;
...
private static final String FILES_UPLOADED_ERROR = "The {0} file cannot be uploaded ! File size should be smaller than {1} bytes !";
...
Message msg = Messages.create(FILES_UPLOADED_ERROR, "order.txt", 1024);

Now, we can:
- set the detail message via Message#detail(String, Object...)
- change the default INFO severity via Message#warn(), Message#error(), or Message#fatal()
- make it a flash message via Message#flash()
- add it to the faces context via Message#add(String) to add it for a specific client ID
- or, add it to the faces context via Message#add() to add it as a global message

For example, we can change the default INFO severity in ERROR, make it a flash message and add it in the faces context as a global message, as below:

msg.error();
msg.flash();
msg.add();
       
Or, you can put everything in a compact line:

Messages.create(FILES_UPLOADED_ERROR, "order.txt", 1024).error().flash().add();

The resulted message will be:

// ERROR message
The order.txt file cannot be uploaded ! File size should be smaller than 1,024 bytes.

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