JSP সার্ভারে রাজা :: scriplets (স্ক্রীপলেটস) পর্ব – ৩

 

আমরা ইতিমধ্যেই দেখে নিয়েছি যে jsp page তে <%= এবং %> কিভাবে Java expression ব্যবহার করা যায়।

কিন্তু যখন প্রচুর প্রোগ্রামিং করতে হয় তখন Html এর মধ্যে Java expression লেখা কঠিন কাজ হয়ে দাড়াই। Jsp পেজ এর মধ্যে Java Code Block ও লেখা যায়।

আপনাকে Jva code block <% এবং %> এর মধ্যে লিখতে হবে। (Java expression  লেখার মতো, শুধুমাত্র = চিন্‌হ ব্যবহার না করে)

এই block of code কে Scriplet বলে।

এখানে একটি Scriplet যুক্ত jsp page এর উদাহরন দেওয়া হল।

<HTML>
<BODY>
<%
    // This is a scriptlet.  Notice that the "date"
    // variable we declare here is available in the
    // embedded expression later on.
    System.out.println( "Evaluating date now" );
    java.util.Date date = new java.util.Date();
%>
Hello!  The time is now <%= date %>
</BODY>
</HTML

 

এই উদাহরনটি কে রান করালে, লক্ষ্য করবেন যে সার্ভার log তে আউটপুট “System.out.printf” থেকে এসেছে।

কিন্তু একটি scriplet  কখনোই নিজে থেকে html ফাইল তৈরি করতে পারে না। যদি একটি scriplet html ফাইল তৈরি করতে চাই তাহলে তাকে “out” ভেরিয়েবেল ব্যবহার করতে হবে।এই ভেরিয়েবেলটি ঘোষণা করার দরকার নেই। এটি এর জন্য অনান্য ভেরিয়েবেলের সাথে পূর্বঘোষিত।

কি ভাবে scriplet দিয়ে hrml তৈরি হবে তার উদাহরনঃ

<HTML>
<BODY>
<%
    // This scriptlet declares and initializes "date"
    System.out.println( "Evaluating date now" );
    java.util.Date date = new java.util.Date();
%>
Hello!  The time is now
<%
    // This scriptlet generates HTML output
    out.println( String.valueOf( date ));
%>
</BODY>
</HTML

 

এখানে expression ব্যবহারের পরিবর্তে “out” variable দিয়ে সরাসরি html তৈরি করা হয়েছে।“out” ভেরিয়েবেলটিJavax.Servlet.Jsp.Jspwriter  ধরনের।

অন্য একটি ব্যবহারযোগ্য ভেরিয়েবেল হল “Request”।এটি Javax.Servlet.http.HttpServletRequest ধরনের।

কেউ যখন URL এ ক্লিক করে ,ব্রাউজার সার্ভার কে একটি “request” পাঠায়। যদি “request” কোনো  form এর থেকে হয় তা হলে User কে ফর্ম এ লিখতে হবে।

এখন কোডটিকে Modify করতে হবেঃ-

<HTML>
<BODY>
<%
    // This scriptlet declares and initializes "date"
    System.out.println( "Evaluating date now" );
    java.util.Date date = new java.util.Date();
%>
Hello!  The time is now
<%
    out.println( date );
    out.println( "<BR>Your machine's address is " );
    out.println( request.getRemoteHost());
%>
</BODY>
</HTML

 

একই ধরনের আরেকটি ভেরিয়েবেল হল “response”। এটি ব্রাউজার কে “response” বোঝানোর জন্য ব্যবহার করা হয়। যেমন আপনি response.sendRedirect (another Url ); কে call করতে পারেন।

Author: Stargallery24

Leave a Reply

Your email address will not be published. Required fields are marked *