5/28/10

පූස්තඩියා සමඟ JSP -3:JSP tags

අද අපි මූලික වශයෙන් කතා කරන්න යන්නේ JSP tags ගැන ඊට කලින් දැනට server එකේ තියෙන html file එක jsp එකක් කරාගෙන ඉම්මූ



මේ වැඩේ කරන්න හරිම පහසුයි කරන්න තියෙන්නේ index.html කියන file එක index.jsp කියලා rename කරගන්න එක

ඒ වගේම අපේ web.xml එකේ ඇති index,html කියන තැනටත් index.jsp කියලා දා ගන්න එතකොට වැඩේ හරි

ඊට පස්සේ ඉතින් server එක restart කරලා http://127.0.0.1:8080/JSPClass/ browse කරලා කරපු වැඩේ හරිගිහිල්ලා ද කියලා බලන්නත් අමතක කරන්න එපා



JSP ටැග්ස්



jsp වල ප්‍රධාන වශ්‍යයෙන් tags වර්ග 4 භාවිතා වෙනවා
  1. Directives
  2. Declarations
  3. Scriptlets
  4. Expressions



Directives ටැග්
මේ tag එක භාවිතා වෙන්නේ අපේ jsp පිටුවට යමක් ඇතුලත් කරගන්න (include) නැත්නම් ආනයනය (import) කරන්න
මේ Directives තුන් වරගයක් තියෙනවා
  1. page
  2. include
  3. taglib
මේවා පිලිබදව අපි වෙන වෙනම කතා කරමු අවස්ථානුකූලව දැනට අපි මෙහි Syntax එක ගැන පොඩ්ඩක් බලමු

<%@Directives attribute="value" attribute="value" .... ..... %>
මෙහිදී attribute ව්ශයෙන් යෙදෙන ඒවා කිහිපයක් මම පහතින් දක්වන්නම්
  • language="java"
  • import="mypackage.myclass" 
  • session="true"
  • errorPage="error.jsp"
  • contentType="text/html;charset=ISO-8859-1"
  • file="myjsp.jsp"
  • pageEncoding="UTF-8"
දැනට අපිට මෙයින් වැදගත් වෙන්නේ  language="java" , import,pageEncoding හා contentType="text/html;charset=ISO-8859-1" කියන ඒවා ටිකයි මේ සියල්ලම භාවිතා වෙන්නේ page කියන Directives එකත් එක්කයි

උදා 1:
<%@page language="java" import="java.sql.*, java.util.*" %>
උදා 2:
<%@page contentType="text/html" pageEncoding="UTF-8"%>

Declarations ටැග්

මේ ටැගය තුල අපිට අවශ්‍ය වෙන java method එකක් හෝ වේරියබල් කිහිපයක් අඩංගු කරන්න පුලුවන් මේ method එක අපිට භාවිතා කරන්න පුලුවන් එම jsp පිටුව තුල පමනයි

මෙහි Syntax එක
<%!
//your java code goes here !
%>

උදා 1:

<%!
int i=10;
int j =5;

int addMe(){
    i=i*2;
    j=j+(i/2);
    return i+j;
    }

%>

Scriplets ටැග්

මෙයත් අපි ඉහත දක්වපු ටැගයට සමාන ආකාරයක් දක්වනවා නමුත් මෙය තුල method අඩංගු කරන්න බෑ java කේත කොටස් පමනයි ඇතුල් කරන්න පුලුවන් මෙහි ඇතුල් කරන කේත _jspService() කියන method එක මගින් server එක තුල execute වීම සිදුවෙනවා

ඒ වගේම මේ Scriplets ටැග් එක ඇතුලෙ ලියන්න පුලුවන් විශේෂ වේරියබල් 10 ක් තියෙනවා
  1. request
  2. response
  3. session
  4. out
  5. pageContext
  6. jspContext
  7. page
  8. application
  9. config
  10. exception

request

clients request එකේ object එකක් තමා මේ මේක තුල තමා request එක හරහා submit කරන data ලබා ගන්න මේක භාවිතා කරන්න පුලුවන්

response

server response එකට අදාල object එක

session

clients request එකේ එක්ක සම්බන්ද වුනු HTTP session එකේ object එක

out

client data යවන්න යොදා ගන්නා output stream එකට අදාල object එක

අනිත් ඒවා ගැන මම සුදුසු පරිදි සුදුසු අවස්ථාවලදි කියලා දෙන්නම් බොහෝ වෙලාවට ඒවා මේ පාඩමේ විශය පථයෙන් පිටයි තියෙන්නේ

Syntax එක

<%
//your java code goes here !
%>

උදා 1:

<%

    String id, name;
    id = request.getParameter("id");
    name = request.getParameter("name");
out.println("<b>my ID is"+id+" and my name is "+name+"</b>");

%>
Expressions ටැග්

මේ තුලට void නොවන ඕනෑම Expression එකක් හෝ වේරියබල් එකක් ඇතුලත් කරන්න පුලුවන් එම Expression එක හෝ වේරියබල් එක ස්වයංක්‍රීයවම string වලට convert වෙලා වෙබ් පිටුවට ඇතුල් වෙනවා Syntax එක

<%=addMe()%>


උදා 1: මෙහිදී අපිට out.println කියන එක වෙනුවට මෙම Expression ටැග් එක භාවිතා කරන්න පුලුවන්


<%

    String id, name;
    id = request.getParameter("id");
    name = request.getParameter("name");
out.println("<b> my ID is"+id+" and my name is "+name+" </b> ");

%>

වෙනුවට

<%

    String id, name;
    id = request.getParameter("id");
    name = request.getParameter("name");
%>
<b>my ID is <%=id%> and my name is <%=name%> </b>

ලෙසට වෙනස් කිරීම සිදු කරන්න පුලුවන්

වැඩ පටන් ගම්මු



මේ ටික තවත් පැහැදිලි වෙන්න මම උදාහරනයක් දීලා තියෙනවා ඒක දැන් අපේ server 1ක ඇතුලෙ තියෙන index.jsp file එක ඇතුලෙ තියෙන ඒවා මකලා මේ තියන code එක ඇතුල් කරගන්න

මෙතන්දි අපි කලින් කීව  Directives,Scriplets හා Expressions යන තුන් වර්ගයම පාවිචි කරලා තියෙනවා



 index.jsp තුලට යෙදිය යුතු කේත කොටස

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<html>
    <head>
        <title>Welcome to JSP Class</title>
      </head>
    <body>
        <% 
        String s ="Helow World !";
        out.println("<h1>"+s+"</h1> in Scriplets");
        %>
        <h1><%=s%></h1> in Expressions 
    </body>
</html>

ඊට පස්සේ ඉතින් සුපුරුදු විදියට server එක restart කරලා http://127.0.0.1:8080/JSPClass/  browse කරලා බලන්න :D

2 comments:

Sajith Tharaka said...

එළ එළ.... ඒ වැ‍ඩෙත් ගොඩ...

චමින්ද said...

එල එල දිගටම ලියන්න ඔබට සදා ජයම වේවා

Post a Comment