This page (revision-1) was last changed on 21-Jan-2014 16:03 by Dieter Käppel

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Page revision history

Version Date Modified Size Author Changes ... Change note
1 21-Jan-2014 16:03 1 KB Dieter Käppel

Page References

Incoming links Outgoing links

Version management

Difference between version and

At line 1 added 61 lines
[JSF Ext] enthält eine Reihe von EL-Funktionen, die das Implementieren von XHTML-Seiten erleichtern.
!!!Select Items
Das Thema Select Items ist rund um <h:selectOneMenu> (Drop-Down), <p:selectOneButtons> und andere Select-Elemente aus dem H-Namespace, Primefaces und Richfaces interessant.
Grundlage ist das Nutzen von messages.properties, die in der faces-config.xml festgelegt werden:
{{{
<?xml version="1.0" encoding="UTF-8"?>
<faces-config version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
>
<application>
<resource-bundle>
<base-name>messages</base-name>
<var>messages</var>
</resource-bundle>
<message-bundle>messages</message-bundle>
...
</application>
</faces-config>
}}}
Folgende Enum-Klasse liegt vor:
{{{
public enum TestEnum {
ONE,
TWO,
THREE,
FOUR,
FIVE
}
}}}
In den Messages, also messages.properties, messages_en.properties für Englisch, messages_de.properties für Deutsch etc. werden dann die Texte für die Enums hinterlegt:
{{{
com.intersult.test.model.TestEnum.ONE=One
com.intersult.test.model.TestEnum.ONE.description=Description One
com.intersult.test.model.TestEnum.TWO=Two
com.intersult.test.model.TestEnum.TWO.description=Description Two
}}}
__Hinweis:__ Die Einträge mit der zusätzlichen Endung ".description" sind optional und werden in die Description-Properties der SelectItem-Klasse von [JSF] hinzugefügt.
!!Enum String
Liegt ein Property einer Modellklasse vor, dessen Wert als Klartext ausgegeben soll, kann die EL-Function enumString verwendet werden:
{{{
<h:outputText id="result" value="#{e:enumString(test.testEnum)}"/>
}}}
!!Enum Select Items
Für ein Enum können bequem Select Items erzeugt werden:
{{{
<f:selectItems value="#{e:enumSelectItems('com.intersult.test.model.TestEnum')}"/>
}}}