Compte tenu du type de message affiché, j’aurais plutôt tendance à utiliser les aides contextuelles des objets métiers qui peuvent être facilement manipulées en back avec les classes ObjectCtxHelp et la méthode setCtxHelps
Par exemple le bout de code ci-dessous appelé lors d’un initUpdate qui ajoute des aides selon certaines conditions.
//set context helps depending on state of order
List<ObjectCtxHelp> ctxHelps = new ArrayList<>();
String[] ctx = { ObjectCtxHelp.CTXHELP_UPDATE };
if (Tool.isEmpty(getFieldValue("myField")) && "PEN".equals(getStatus())) {
ObjectCtxHelp help = new ObjectCtxHelp("MainObject", ctx, A_MESSAGE);
ctxHelps.add(help);
setCtxHelps(ctxHelps);
} else if ("DEL".equals(getStatus())) {
ObjectCtxHelp help = new ObjectCtxHelp("MainObject", ctx, ANOTHER_MESSAGE);
ctxHelps.add(help);
setCtxHelps(ctxHelps);
} else {
setCtxHelps(null);
}
La capture d’écran que j’ai mis au-dessus concernant la zone de texte (statique) n’est pas celle que je veux utiliser. C’était juste un exemple pour que vous voyez de quoi je parle.
Le message que je veux écrire est le suivant quand je sauvegarde : "Les personnes suivantes n'ont pas encore validé : XXX, YYY, ZZZ". Ce nombre de personnes varie.
Du coup j’ai vraiment besoin de modifier le message.
Si les aides contextuelles sont celles qui s’affichent avec le petit point d’interrogation, ce n’est pas ce que je souhaite.
Je veux avoir une phrase que j’affiche où je veux dans le formulaire et dont je peux modifier le contenu à ma guise.
Si jamais les aides contextuelles ne répondent pas à votre besoin, il reste toujours la possibilité de créer un attribut non persisté sur l’objet métier et de le valoriser dynamiquement.