7.1 c:if, c:forEach
সবাই জাভা কোডের পরিবর্তে ট্যাগ ব্যবহার করে কোডটি পছন্দ করেছে, তাই তারা সুযোগ প্রসারিত করার সিদ্ধান্ত নিয়েছে। কিন্তু প্রোগ্রামিং শুধুমাত্র বস্তু তৈরি এবং তাদের বৈশিষ্ট্য পড়ার মধ্যে সীমাবদ্ধ নয়। আপনাকে বস্তুর পদ্ধতি কল করতে হবে, ডাটাবেস এবং অন্যান্য পরিষেবাগুলির সাথে কাজ করতে হবে। কি করো?
আপনাকে শুধু প্রতিটি জাভা স্টেটমেন্টকে ট্যাগ হিসেবে উপস্থাপন করতে হবে। ছিল if
, হবে <if>
, ছিল for
, হবে, <for>
ইত্যাদি। ঠিক আছে, ঠিক আছে, মজা করছিলাম, এটা এমন ছিল না। ওয়েল, এটা হতে পারে না যে লোকেরা আসলে এটি করার সিদ্ধান্ত নেয়। কিন্তু না, হয়তো!
প্রোগ্রামাররা কোডে যেকোনো ট্যাগ যোগ করার অনুমতি দেয়। নীতিগতভাবে, চিন্তা করার কিছু নেই - JSP একটি এক্সটেনসিবল স্ট্যান্ডার্ড। কিন্তু তারা আরও এগিয়ে গিয়ে JSP স্ট্যান্ডার্ড ট্যাগ লাইব্রেরি - JSTL প্রকাশ করেছে। এটি সহ পৃষ্ঠাটি এইরকম দেখাচ্ছে:
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title> JSTL Example</title>
</head>
<body>
<c:set var = "salary" scope = "session" value = "${2000*5}"/>
<c:if test = "${ salary > 2000}">
<p>My salary is: <c:out value = "${salary}"/><p>
</c:if>
</body>
</html>
এটা খুবই সম্ভব যে আপনি আপনার ভবিষ্যতের প্রকল্পগুলিতে এই ধরনের কোড জুড়ে আসবেন, সেখানে আমি কিছু ব্যাখ্যা দেব।
7.2 JSTL ফাংশন
JSTL ফাংশন 5 টি বিভাগে পড়ে:
- প্রধান ট্যাগ;
- ফরম্যাটিং ট্যাগ;
- এসকিউএল ট্যাগ;
- XML ট্যাগ;
- কলিং ফাংশন.
আমি তাদের সব তালিকা করব না, তবে আমি সবচেয়ে জনপ্রিয় তালিকা করব। মূল ট্যাগ দিয়ে শুরু করা যাক:
1 | <c:out> |
নির্দিষ্ট অভিব্যক্তি আউটপুট - <%= %> এর সমতুল্য |
2 | <c:set> |
একটি ভেরিয়েবলে একটি অভিব্যক্তির ফলাফল লেখে |
3 | <c:remove> |
একটি পরিবর্তনশীল মুছে দেয় |
4 | <c:catch> |
ব্যতিক্রম ক্যাচ |
5 | <c:if> |
if এর analogue |
6 | <c:choose> |
এনালগ সুইচ |
7 | <c:when> |
চয়ন সঙ্গে একসঙ্গে ব্যবহার করা হয় |
8 | <c:otherwise> |
চয়ন সঙ্গে একসঙ্গে ব্যবহার করা হয় |
9 | <c:import> |
আপনাকে কোডে সামগ্রী অন্তর্ভুক্ত করার অনুমতি দেয় (আমদানি নির্দেশের সমতুল্য) |
10 | <c:forEach> |
প্রতিটি লুপের জন্য |
এগারো | <c:param> |
আপনাকে আমদানির জন্য বিকল্প সেট করার অনুমতি দেয় |
12 | <c:redirect> |
পুনঃনির্দেশ |
13 | <c:url> |
প্যারামিটার সহ একটি URL তৈরি করে |
আমি শুধু একটি উদাহরণ দেব এবং এটি দিয়ে শেষ করব। নীতিগতভাবে, কিছু দক্ষতার পরে এই জাতীয় কোড পড়া বেশ সম্ভব। কিন্তু আমি লেখার পরামর্শ দিই না।
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<html>
<head>
<title> Each Tag Example&</title>
</head>
<body>
<c:forEach var = "i" begin = "1" end = "5">
Item <c:out value = "${i}"/><p>
</c:forEach>
</body>
</html>
এটি সম্পর্কে চিন্তা করুন, আমরা ট্যাগ আকারে জাভা কোড লিখি, যাতে JSP পার্সার এই ট্যাগগুলিকে জাভা কোডে রূপান্তর করে। এই পৃথিবীতে কিছু ভুল হয়েছে.
যাইহোক, আপনি নিজের ট্যাগ লাইব্রেরি লিখতে পারেন। আমি এমনকি একবার একটি প্রকল্পে কাজ করেছি যেখানে তারা ছিল। দুর্দান্ত অভিজ্ঞতা। লাইব্রেরিতে কোনো পরিবর্তন করার সাথে সাথে পুরো jsp অবিলম্বে ভেঙে যায়।
আপনি কি চান? কম্পাইলার এই ধরনের পরিবর্তন ট্র্যাক করে না। জেনারেট করা এইচটিএমএল পৃষ্ঠাগুলি দেখার সময় এগুলি শুধুমাত্র দৃশ্যত পাওয়া যাবে৷ এবং যদি এইগুলি কিছু বিরল পরিস্থিতি হয় যা অ-তুচ্ছ পরিস্থিতিতে উদ্ভূত হয় ... ঈশ্বর ব্যাকএন্ড বিকাশ এবং স্ট্যাটিক টাইপিংকে আশীর্বাদ করুন!