FAM - Missatges

Taula de continguts
  • 1. Prerequisits
  • 2. Introducció
  • 3. Literals
  • 4. Messages
    • 4.1. Implementacions
    • 4.2. Exceptions
    • 4.3. MessageUtils
    • 4.4. Nous missatges

1. Prerequisits

  • Tenir instal·lat l’entorn corporatiu
  • Tenir un projecte descarregat a l’entorn (veure document descarregar projecte o crear projecte backoffice)

2. Introducció

Quan parlem de missatges dividim dos casos: literals i missatges. Llevat de casos concrets, els primers es refereixen a textos inclosos directament a la jsp, els segons a textos afegits per java com ara excepcions o avisos.

És important treballar amb tots el missatges d’aplicació amb fitxers de propietats com s’explica en aquest document.

En treballar amb fitxers de propietats, s’ha de fer servir el editor de l’entorn (veure imatge amb la pestanya marcada). Aquest editor tracta bé els accents i permet definir més d’un idioma per definir els missatges.

 

fam_missatges_screenshot1.jpg

3. Literals

Els literals que es mostrin en pàgines jsp, no s’han de incloure directament, sinó a través dels fitxers de propietats. A les aplicacions basades en el Fam, s’incorporen dos fitxers de recursos:

  • literalsCore.properties: Son literals comuns a les aplicacions que no s’haurien de modificar (com ara botó desa, cerca...)
  • literalsApp.properties: Aquests fitxer és el que conté els literals d’aplicació (nom d’entitats, títols, etiquetes...)

Aquests fitxers es defineixen a les jsp per poder fer-los servir.

<f:loadBundle var="litCore"  basename="cat.diba.jee.fam.base.jsp.resources.literalsCore" />
<ice:menuItem value="#{litCore.MenuInici}" action="#{applicationBB.entra}" immediate="true" />

4. Messages

Per treballar de manera modular amb els missatges, s’ha creat la interficie Message que només conté el mètode getMessage() amb paràmetres opcionals.

4.1. Implementacions

  • DibaMessage: És una implementació amb missatges corporatius. El mètode getMessage s’imlpementa mitjançant un fitxer de recursos dibaMessages.properties. Conté missatges compartits per totes les aplicacions.
  • AppMessage: És una implementació amb missatges d’aplicació. La implementació és anàloga al DibaMessage però el fitxer de recursos és propi de l’aplicació
  • xxxMessage: Es poden implementar nous paquets de missatges de forma anàloga als anteriors, si té sentit funcional, com ara els missatges d’un mòdul concret que es vol reutilitzar.

4.2. Exceptions

Les excepcions corporatives (DIbaException) treballen amb aquesta interfície de manera que la seva tipologia et dona el missatge al moment de mostrar-lo per pantalla o per log.

4.3. MessageUtils

La classe MessageUtils treballa amb la interficie Message, per tant amb qualsevol implementació.
Aporta mètodes que mostren els missatges per pantalla:
infoMessage, warnMessage, errorMessage.

4.4. Nous missatges

Si es vol afegir un missatge nou, lo més normal seria afegir al AppMessage una nova entrada de la enumeració i al app.message afegir aquesta mateixa entrada amb el text descriptiu.
Amb això, és pot pintar per pantalla fent servir la classe MessageUtils o creant una nova excepció.

1
Grups de treball:
Plataforma JEE