Jsp'de sadece Html kodları arasına Java kodları yazarak programming yazmak zordur. Bu zorluktan mütevellit, Jsp bize Java kod blokları yazmayı da sağlar.
Bu işlemi <% //INSERT CODE %> ile yaparız ve bunlara scriptlet denmektedir.
Eğer scriplets'den html kodu üretmeyi istiyorsak bunu out ile yapabilirz.
out.println(String.valueof( date )); //Example
Yukarıdaki scriplets'de bulmuş olduğumuz date variables'ını burada kullanabiliyoruz.
~ ~ ~ ~ ~ ~
Mixing Scriplets and Html
<TABLE>
<%
int n = 5;
for( int i=0; i<n; i++)
{
%>
<TR>
<TD>Number=<%= i+1 %></TD>
</TR>
<% } %>
</TABLE>
~ ~ ~ ~ ~ ~
*Aynı zamanda kütüphanelerin import edilmesi durumu da farklıdır.
Normal Java'da import java.util.* şeklinde import edilirken; Jsp'de <%@page contentType="text/html; charset=cp1254" pageEncoding="cp1254" import="com.mtb.util.*"%> şeklinde edilmektedir.
Jsp direktifleri <%@ ile başlar ve yukarıda da gördüğümüz gibi bu direktif bir "page direktifidir".
~ ~ ~ ~ ~ ~
<%@ include file="somePageOfText.text" %> -->Bu .jsp sayfasına herhangi birşey ekleme ve çıkarma gibidir. Bir dosyası buraya yapıştırıp içeriği generate etmeden önce, merge eder..
<jsp:include page="loginKontrol.jsp"/>-->Farklı servletlar çalıştığı zaman bu action kullanılabilir.
<%@include file="herhangibirsey.herhangibiruzanti" %>
Yukarıda ise eklenme direktifi mevcut olmakla birlikte, eklenen herhangi uzantılı dosyanın tek başına çalışması beklenmez. Bu direktifdir sadece!
<<< JSP DECLARATIONS >>>
Bu Deklarasyon içerisine degisken ve metot ekleyebiliriz.!
<%@ page import="java.util.*" %>
<HTML>
<BODY>
<%!
Date theDate = new Date();
Date getDate()
{
System.out.println( "In getDate() method" );
return theDate;
}
%>
Hello! The time is now <%= getDate() %>
</BODY>
</HTML>
*Declaration'un scriplets'den en mühim farkı load aşamasında bir değer alır ve daha sonra biz ne kadar reload etsek de bu değer değişmez. (Java'da ki final anahtar kelimesi gibi)
Halbuki scriplets'de olaylar bu şekilde değildir!
<td>Going to include solbar Buarad!.jsp...<BR>
<jsp:include page="incLeftBar.jsp"/></td>
Bu kodu istediğim sayfaya ekleyerek, bu satır içerisinde incleftbar.jsp'yi görebilirim..
yani incLeftBar.jsp sayfasını buraya include etmiş oluyorum.
*Şimdi de -> <td><jsp:forward page="index.jsp"/></td> Buradaki forward ne işe yarar ona bakmamız lazım,
Açıklama: Bu <jsp:forward page="index.jsp"/> ise hangi sayfada yazılırsa bu sayfayı index.jsp'e forward etmektedir.
JSP'DE SESSION TUTMA VE TUTULAN SESSION'LARIN GÖSTERİLMESİ
<HTML>
<BODY>
<FORM METHOD=POST ACTION="SaveName.jsp">
What's your name? <INPUT TYPE=TEXT NAME=username SIZE=20>
<P><INPUT TYPE=SUBMIT>
</FORM>
</BODY>
</HTML>
--->Buradan username SaveName.jsp'e gider..
--->SaveName.jsp'de aşağıdaki şekilde tutulur,
<%
String name = request.getParameter( "username" );
session.setAttribute( "theName", name );
%>
Mesela bu sayfadan başka bir sayfaya yönlendirme yapıldı ve tutulan sessions nasıl retrieved olacak onu görelim
--->Yönlendirilenpage.jsp'de sessionları şu şekilde okuyabiliriz;
<HTML>
<BODY>
Hello, <%= session.getAttribute( "theName" ) %>
</BODY>
</HTML>
Jsp'yi özet bir şekilde, çok detaya girmeden açıklamaya çalıştım,
Teşekkürler.
Hiç yorum yok:
Yorum Gönder