JSF Static Navigation

jsf

JSF 1.2 de tum navigation kurallari faces-config.xml de yapilmasi gerekiyordu. JSF 2.x te bu zorunluluk ortadan kalkti.

Static Navigation

Simdiye kadar orneklerimizde Static Navigation’i kullandik. <h:commandButton> component’inde action attribute olarak gidecegi sayfa bilgisini deger olarak verdik.

<h:commandButton value="Login" action="welcome" />
  • action attribute degeri outcome olarak isimlendirilir yani “welcome” degeri outcome bilgisidir.Eger outcome da dosya bilgisi yoksa mevcut view in dosya bilgisi eklenir. Yani calistirdigimiz sayfa xhtml oldugu icin outcome bilgisi welcome.xhtml olarak degerlendirilir.
  • Outcome / ile baslamiyorsa path olarak current/mevcut view baz alinir.

Outcome bilgisini action attribute’te verebilecegimiz gibi metot da kullanabiliriz.

NavigationBean.java

package _18.static1.navigation;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class NavigationBean {

	public String goToPage3() {
		return "page3";
	}
}

Continue reading JSF Static Navigation

JavaScript – Operatörler

asdsadas

Bu yazımızda JavaScript operatörler hakkında bilgi vereceğiz

Atama Operatörü

=   operatörü ile atama işlemleri yapabiliriz

var a = 3;
a = 4;
 

Toplama Operatörü

+   operatörü ile atama işlemleri yapabiliriz


var a = 3;
var b = 4;
var c = a + b;

İşlemler Tablosu

 
Operatör Açıklama Örnek X değeri Y Değeri
+ Toplama x=y+2 7 5
Çıkarma x=y-2 3 5
* Çarpma x=y*2 10 5
/ Bölme x=y/2 2.5 5
% Mod x=y%2 1 5
++ Artım x=++y 6 6
x=y++ 5 6
Azalma x=–y 4 4
x=y– 5 4

Atama İşlemleri

Operatör Örnek Benzer İşlem Sonuç
= x=y x=5
+= x+=y x=x+y x=15
-= x-=y x=x-y x=5
*= x*=y x=x*y x=50
/= x/=y x=x/y x=2
%= x%=y x=x%y x=0

 

Karakter Birleştirme İşlemleri
var txt1="Volkan";
var txt2="Ozturk";
txt3=txt1+txt2;

JavaScript – Fonksiyonlar

asdsadas

Bu yazımızda JavaScript fonksiyonlar hakkında bilgi vereceğiz

Parametresiz bir şekilde fonksiyon aşağıdaki gibi çağrılır

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Merhaba Dünya!");
}
</script>
</head>

<body>
<button onclick="myFunction()">Cagir</button>
</body>
</html>

Continue reading JavaScript – Fonksiyonlar

AWS Platformu 2016

2016’da AWS platformundaki servisleri aşağıda özetledim.

Global Infrastructure

Region, Available Zone ve Edge Location’dan oluşur. Bu konuyu ilgili detayları bu yazımda bulabilirsiniz.

Networking

VPC

Virtual Private Cloud, AWS üzerinde sanal network oluşturmanızı sağlar.

Route53

DNS ‘lerinizi yönetmenizin sağlar ismini DNS kullandığı port 53 olduğu için ismini buradan almıştır.

Direct Connect

Internet Provider kullanmandan Özel network sağlayıcıları ile direk olarak AWS kaynaklarına erişmenizi sağlar. Continue reading AWS Platformu 2016

JavaScript – Değişkenler(Variables)

post_javascript-zamanli-yonlendirme

Bu yazımızda JavaScript değişkenler hakkında bilgi vereceğiz

JavaScript için değişken tanımlarken farklı veri tipi tanımlamaya gerek yoktur

Sayı Tipinde Değişkenler

 var a = 3;            
var b = 4;

Decimal Tipinde Değişkenler

var pi = 3.14;

Karakter setleri

var name = "Volkan";
var surname='OZTURK'; 

name="Merve";

Continue reading JavaScript – Değişkenler(Variables)

JavaScript – HTML Bileşenlerinin Değerinin Değiştirilmesi

post_javascript-zamanli-yonlendirme

Bu yazımızda JavaScript ile HTML elemanlarının nasıl değiştirilebileceğini inceleyeceğiz

document.getElementById(“id”)  metoduyla  HTML bileşenine erişebiliriz .    Bu metodun innerHTML metoduylada bileşenin html değeri değiştirilir

Örnek HTML

	<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
document.getElementById("demo").innerHTML="Paragraf Değişti";
}
</script>
</head>

<body>

<h1 id="demo">Paragraf 1</h1>

<button type="button" onclick="myFunction()">Paragrafı Değiştir</button>

</body>
</html>

JavaScript – Genel Bakış

asdsadas

Bu yazımızda JavaScript diline giriş yapacağız

JavaScript Netscape firması tarafından geliştirilmiş , web sayfalarına etkileşimli ve dinamik özellikler katmamızı sağlayan standart bir script dilidir

JavaScript kullanarak HTML bileşenlerine erişip bu bileşenlerin değerlerini dinamik olarak değiştirebiliriz

Örnek JavaScript kodu

<html>
<head>
<script type="text/javascript">
 var d = new Date();
 var time=d.getHours();
 
 if(time < 12){
  alert('Günaydın');                             
 }else{
  alert('Merhaba');
 }

</script>
</head>
</html>

Güncel web tarayıcılarının hepsi JavaScript i desteklemektedir . Fakat bazı durumlarda Javascript kodları çalışırken tarayıcıların bazı fonksiyonları desteklememesi nedeniyle sıkıntı yaşanabilmektedir

JavaScript Kodları HTML kodlarının hangi bölümünde yazılmalıdır ? 

Javascript kodları HTML HEAD kısmına ve BODY kısmına yazılabilir

<html>
<head>
<script type="text/javascript">
 
         *******
         **
         **    JS KODLARI
         **
         *******

</script>
</head>
</html>

 

<html>
<head>
</head>
<body>
     <script>
       document.write("<p>This is a paragraph</p>"); 
     </script> 
</head>
</html>

Continue reading JavaScript – Genel Bakış

JSF JSTL , JSTL Functions

JSP Standard Tag Library (JSTL) & JSF

Burada bir kac ornek yapacagiz ve JSTL kodlarimizi xhtml dosyalarinda kullanabildigimizi gorecegiz.

Facelet dosyalari , <c:out> JSTL tagini kullanmamiza izin vermez!

JSP dosyalarimizda JSTL i kullanabilmek icin @taglib directive eklememiz gerekliydi.

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

Facelets sayfalarimizda da namespace eklememiz gerekli

xmlns:c="http://java.sun.com/jstl/core"

<c:set> ,<c:if> gibi JSTL taglari icin jar eklememiz gerekmezken c:forEach icin eklememiz gerekmektedir.

pom.xml

	        <dependency>
			<groupId>javax.servlet</groupId>
			<artifactId>jstl</artifactId>
			<version>1.1.2</version>
		</dependency>

		<dependency>
			<groupId>taglibs</groupId>
			<artifactId>standard</artifactId>
			<version>1.1.2</version>
		</dependency>

JSTLBean.java

package _17.jstl;

import java.util.HashMap;
import java.util.Map;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "JSTLBean")
@SessionScoped
public class JSTLBean {

	private String property1;
	private Map<String, String> map = new HashMap<String, String>();

        //getters and setters
}

Continue reading JSF JSTL , JSTL Functions

JSF Expression Language

Bu bolumde Expression Language konusuna deginecegiz.

2 tane Expression Language kumesi mevcuttur.

  • JSP Expression Language
  • JSF Expression Language

JSP Expression Language ile JSF Expression Language arasinda farkliliklar mevcuttur. Gramer olarak baktigimizda

  • JSP Expression Language dolar $ karakteri ile baslar ve suslu parantezler ile devam eder/sonlanir.
  • JSF Expression Language diyez # isareti ile baslar ve suslu parantezler ile devam eder/sonlanir.
  • JSP Expression Language , page compilation time da yani sayfa render edildiginde hemen calistirilir.
  • JSF Expression Language , deferred ( ertelenmis / gecikmeli) olarak calisir. JSF lifecycle context ine gore calisacaktir.

Unified Expression Language

Unified Expression Language ozelligi JSF 2.1 ile birlikte gelmistir. JSP Expression Language ve JSF Expression language ‘un bir birlesimi  (union) olarak ortaya koyulmustur.

Expressionlar icin deferred evaluation/degerlendirme
Expressionlar icin read/write modu
JSTL ( JSP Standard Tag Library ) taglarinin deferred olarak calisabilmesi. Continue reading JSF Expression Language

JSF Resource Bundle (Properties Dosyalarının Kullanımı)

Bu yazımızda JSF içerisinde properties dosyalarını nasıl kullanacağımızı inceleyeceğiz. JSF sayfalarında manuel olarak eklediğimiz karakter setlerini genellikle resource bundle dosyalarına koyarız Alttaki örnekte label bileşenine değeri static olarak verilmiştir

<h:outputLabel value="Ad"/>

Alttaki örnekte ise label bileşenine değeri bir bundle dosyasından alınmıştır

<h:outputLabel value="#{msg.ad}/>
Resource Bundle Konfigurasyonu
1.Adım : src klasörü altında resources paketi oluşturulur
2.Adım : resources paketi altında messages.properties dosyası kopyalanır.
3.Adım : messages.properties dosyasına aşağıdaki bilgiler kopyalanır
name=Ad
surname=Soyad
address=Adres
myName=My name is {0}
 

Continue reading JSF Resource Bundle (Properties Dosyalarının Kullanımı)