0

JSF çoklu dil desteği

Posted by Gökhan Şahin on Jul 19, 2012 in JSF, Java, Web, Yazılım

jsf ile programınızın birden fazla dil ile çalışmasını istiyorsanız.
kodların olduğu dosya yoluna message.properties, message_tr.properties ve message_en.properties dosyalarını
oluşturuyoruz.
Dosyaları açıp içine
default ve en için
user.name=Username
tr için
user.name=Kullanıcı adı
yazıyoruz.
Faceconfig.xml dosyasına aşağıdaki eklemeleri yapıyoruz.

<application>

<resource-bundle>

<base-name>messages</base-name>

<var>messages</var>

</resource-bundle>

..

..

<locale-config>

<default-locale>tr</default-locale>

<supported-locale>en</supported-locale>

</locale-config>

</application>

@Named

@SessionScoped

public class UserSessionMB implements Serializable {

private Locale userLocale;

public UserSessionMB(){
//Buraya login olan kullanıcının yada loginde sorduğunuz lokasyon bilgisini giriniz.
userLocale = new Locale('tr');
}

public Locale getUserLocale() {
return userLocale;
}
}

Kullandığınız template yada her safanın başına aşağıdaki komutu yazın

<f:view contentType="text/html" locale="#{userSessionMB.userLocale}">

<f:loadBundle basename="messages" var="msg" />

<body>

<h:outputLabel value="#{msg['user.userName']}" />

</body>

</f:view>

Tags: ,

 
0

JSF Component Bulamak

Posted by Gökhan Şahin on Jun 26, 2012 in JSF, Java, Web

private UIComponent findComponent(UIComponent c, String id) {
if (id.equals(c.getId())) {
return c;
}
Iterator kids = c.getFacetsAndChildren();
while (kids.hasNext()) {
UIComponent found = findComponent(kids.next(), id);
if (found != null) {
return found;
}
}
return null;
}

Root ‘u bulup bulmak istediğmiz componentin idsini veriyoruz.

UIComponent root = facesContext.getViewRoot();
UIInput codeComponent = (UIInput)findComponent(root, "ComponentID");

Tags: ,

Copyright © 2019 Gökhan Şahin All rights reserved. Theme by Laptop Geek.