JSF Ders25 - Properties Dosyaları
Properties dosyaları içerisinde "anahtarKelime = değer" şeklinde ifadeler içeren dosyalardır.
Kullanılma amaçları
- Tüm sayfalarda aynı değere ulaşabilmek için kullanılır.
- Sadece properties dosyasında yapılan değişiklikle properties dosyasını kullanılan tüm sayfalarda otomatik olarak güncelleme sağlar.
- WEB-INF/classes dizini üzerinde bir .properties uzantılı dosya oluşturulur.
- faces-config.xml dosyası içerinde resource bundle ile .properties dosyası tanımlanır.
<application>
<resource-bundle>
<base-name>propertiesDosyaIsmi</base-name>
<var>erisimIsmi</var>
</resource-bundle>
</application>
- Erişim şu şekilde sağlanır.
#{erisimIsmi.anahtarKelime}
Parametreli .properties dosyası
.properties dosyası içinde parametreli anahtar kelimeler tanımlanabilir.
Örneğin aşağıdaki test.properties dosyası tanımlanmış olsun.
WEB-INF/classes/test.properties
selamla=Merhaba {0} {1}, nasilsiniz ? |
Yukarıdaki anahtar kelimeyi kullanmak istediğimde şu şekilde kullanabilirim.
<h:outputFormat value="#{test.selamla}"> <f:param value="Enes"/> <f:param value="#{kisi.cinsiyet}/> </h:outputFormat> |
Çıktı ise şu şekilde olacaktır.
Merhaba Enes Bey, nasilsiniz ? |
index.xhtml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"> <h:head> <title>index.xhtml</title> </h:head> <h:body> <h:outputFormat value="#{d.selamla}"> <f:param value="enes"/> <f:param value="bey"/> </h:outputFormat> <br/> #{d.giris} </h:body> </html>
deneme.properties
selamla=Merhabalar {0} {1}, hosgeldiniz ! giris=bu proje properties konusu ile ilgilidir.
faces-config.xml
<?xml version="1.0" encoding="UTF-8"?> <faces-config 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" version="2.2"> <application> <resource-bundle> <base-name>deneme</base-name> <var>d</var> </resource-bundle> </application> </faces-config>
Yorumlar
Yorum Gönder