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.
Kullanılışı
  • 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>

JSF properties

Yorumlar

Bu blogdaki popüler yayınlar

Java SE Ders24 - Composition (Kompozisyon)

Spring Ders20 - Aspect Oriented Programming - AspectJ Annotation Style

JSF Ders30 - Page Template (Sayfa Şablonu)