Son zamanlarda adını sıkça duyduğum ve öğrenmeye karar verdiğim JSF 2.0 ile basit faiz hesaplayan bir örnek uygulama yapalım. Öncelikle hesaplama değerlerini alacağımız web arayüzü sayfasını yazalım. Sayfamızın adı faizhesaplama.jsp olsun.
faizhesaplama.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Faiz Hesaplama Aracı</title>
</head>
<body>
<f:view>
<h:form style="submit">
<h:panelGrid border="1" columns="2">
<h:outputLabel value="Ana Para"/>
<h:inputText value="#{faizHesapla.anaPara}"/>
<h:outputLabel value="Faiz Oranı"/>
<h:inputText value="#{faizHesapla.faizOrani}"/>
<h:outputLabel value="Faiz Hesaplanacak Gün"/>
<h:inputText value="#{faizHesapla.gun}"/>
<h:commandButton value="Hesapla" action="#{faizHesapla.Hesapla}"/>
<h:outputLabel value="#{faizHesapla.faiz}"/>
</h:panelGrid>
</h:form>
</f:view>
</body>
</html>
Şimdi web arayüzünden aldığımız değerleri java kodumuzla hesaplatalım. Java class dosyamızın adı FaizHesapla.java olsun.
FaizHesapla.java
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean (name="faizHesapla")
@RequestScoped
public class FaizHesapla {
private double anaPara;
private double faiz;
private int faizOrani;
private int gun;
public FaizHesapla(){
super();
}
public double getAnaPara() {
return anaPara;
}
public void setAnaPara(double anaPara) {
this.anaPara = anaPara;
}
public int getFaizOrani() {
return faizOrani;
}
public void setFaizOrani(int faizOrani) {
this.faizOrani = faizOrani;
}
public int getGun() {
return gun;
}
public void setGun(int gun) {
this.gun = gun;
}
public double getFaiz() {
return faiz;
}
public void setFaiz(double faiz) {
this.faiz=faiz;
}
public void Hesapla(){
faiz=(anaPara*faizOrani*gun)/36000;
System.out.println(faiz);
}
}
Şimdi uygulamamızı çalıştıralım. JSF 2.0 ile gelen güzel bir özellik, faces-config.xml dosyasına gerek kalmadan yukarıdaki örneği çalıştırabiliriz. İlerleyen zamanlarda yaptığım örnekleri burada paylaşmaya devam edeceğim.
Ek olarak jsp sayfasını ilk çalıştırdığınızda anapara, faiz oranı vs. alanlarda 0.0 şeklinde değerler gelecektir. İlk başta benim hoşuma gitmedi ve nedenini araştırdım. İlk başta sıfır değeri gelmesinin sebebi, örneğin anaPara değişkeni için double kullanırsak başlangıç değeri sıfır kabul ediliyor. double yeribe Double kullanılırsa başlangıç değeri null kabul ediliyor. Bu durum int yerine Integer kullanıldığında da geçerlidir. Öğrenmiş olduğum bu bilgiyi sizlerle paylaşmak istedim.


Leave a comment