JSF ManagedBean-Properties und "Alias"

Veit

Mitglied
Hallo,

ich habe Werte in einer ManagedBean die ich in JSF anzeigen möchte. Da die Werte aus Entitys stammen, und nicht immer sinnvolle Werte zum Anzeigen beinhalten möchte ich dafür ein "Alias" einführen.

Zum Beispiel gibt es drei Prioriätsstufen, in der Datenbank als Integer mit "1","2","3" gespeichert. Im Frontend möchte ich aber "hoch", "mittel" und "niedrig" im einem outputText-Element anzeigen.

Wie geht das am Schnellsten?

Vielen Dank!
 

kama

Top Contributor
Hallo,

zum einen würde ich die Werte dann nicht als Integer ablegen sondern in Form eines Enums (der dann wieder gemapped wird) aber zur Anzeige in JSF gibt es Converter ....die haben genau die Aufgabe von einer Form in die andere Umzuwandeln...

Code:
<outputText value="#{wert}">
  <f:converter converterId="DerConverter" />
</outputText>

Wichtig: Der Converter muss in der Faces-config.xml registriert werden (zumindest in JSF 1.2 in 2.0 weiß ich nicht ob es notwendig ist oder nicht!).


Gruß
Karl Heinz Marbaise
 
S

Sym

Gast
In JSF 2 kann der Converter in der faces-config.xml registriert werden oder über eine Annotation bekannt gemacht werden:

Java:
@FacesConverter( value="MyConverter" )
public class MyConverter implements Converter {
...
}
 

Veit

Mitglied
Der Converter war mir bekannt, hab allerdings auf eine elegantere Lösung gehofft. Gut: Eine faulere ;).
Vielen Dank euch beiden.
 

JimPanse

Bekanntes Mitglied
In dem Fall bietet sich die h:eek:utputFormat Komponente an und um das ganze Mehrsprachig zu machen würde ich es mit einem Eintrag in der message property Datei kombinieren:

Java:
<h:outputFormat value="#{msg.formatPrio}">
<f:param value="#{wert}"/> 
</h:outputFormat>

Mit JSF 2.0 gibt es die Möglichkeit eine
Java:
 choice
Anweisung anzugeben:

message_de.properties
Java:
formatPrio=Die Prio ist: {0,choice,1#hoch|2#mittel|3#niedrig}

Das ganze wird als case Anweisung interpretiert.

Greetz
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Ersetzen von @ManagedBean Annotation durch @named erzeugt Fehler Web Tier 3
T JSF Primefaces beim öffnen eines p:dialog wird eine neue View ManagedBean erstellt Web Tier 2
H JSF Daten aus ManagedBean können vom Controller gelesen werden Web Tier 6
S NullPointerException in ManagedBean? Web Tier 4
O JSF ManagedBean vertauscht Clients Web Tier 11
E JSF JSF findet Property im ManagedBean nicht Web Tier 5
E JSF MangedBean ruft andere ManagedBean auf Web Tier 3
F Property in ManagedBean nicht gefunden? Web Tier 3
T JSF @ManagedBean nicht erkannt Web Tier 3
M JSF: ManagedBean in RequestScope-MB nutzen Web Tier 2
K Internationalisierung über Properties Datei Web Tier 6
C GWT - Properties auf Serverseite speichern Web Tier 2
0 Servlet.Properties Web Tier 3
S sprachunabhängige Properties einlesen Web Tier 4
O relativer Pfad zu properties Datei Web Tier 8
ff html:text aus mapped properties rendern Web Tier 2
M JSF: Parameterübergabe an Properties-Datei aus JSF-Tag heraus? Web Tier 4
S JSF: managed properties bereits im Konstruktor? Web Tier 3
M Properties der JSP nach input-result leer (Struts 2) Web Tier 2
A JSF: Datatable Links mit Properties Web Tier 3
X Properties-File und relative Pfadangaben Web Tier 5

Ähnliche Java Themen

Neue Themen


Oben