การแนะนำ
JSP Standard Template Library (JSTL) เป็นส่วนประกอบใหม่ที่พัฒนาขึ้นสำหรับ JSP ที่ออกโดย SUN JSTL อนุญาตให้คุณพัฒนาเพจ JSP โดยใช้แท็กแทนโค้ดสคริปต์เล็ตที่โปรแกรมเมอร์ JSP ส่วนใหญ่คุ้นเคย JSTL สามารถทำเกือบทุกอย่างที่โค้ดสคริปต์เล็ต JSP ดั้งเดิมสามารถทำได้ คุณอาจสงสัยว่าทำไมเราถึงต้องการภาษาการสร้าง HTML อื่นเช่นนี้?
STL อนุญาตให้โปรแกรมเมอร์ JSP เขียนโปรแกรมโดยใช้แท็กแทนโค้ด JAVA เพื่อแสดงให้เห็นว่าเหตุใดสิ่งนี้จึงเหนือกว่า จึงมีตัวอย่างด้านล่าง เราจะตรวจสอบหน้า JSP ง่ายๆ ซึ่งนับตั้งแต่ 1 ถึง 10 เราจะตรวจสอบสองวิธี วิธีหนึ่งใช้ JSP scriptlet และอีกวิธีคือ JSTL เมื่อตัวอย่างหน้าตัวนับนี้เขียนโดยใช้สคริปต์เล็ต JSP หน้า JSP จะมีลักษณะดังนี้:
<html>
<หัว>
<title>นับถึง 10 ใน JSP scriptlet</title>
</หัว>
<ร่างกาย>
-
สำหรับ(int i=1;i<=10;i++)
-
<%=i%><br/>
-
-
-
</ร่างกาย>
</html>
ดังที่คุณเห็นในตัวอย่างข้างต้น ซอร์สโค้ดของหน้าที่สร้างโดยใช้โค้ด scriptlet จะมีส่วนผสมของแท็ก HTML และคำสั่ง JAVA วิธีการเขียนโปรแกรมแบบไฮบริดนี้ไม่ใช่วิธีที่ดีที่สุดด้วยเหตุผลต่อไปนี้
เหตุผลหลักคือสามารถอ่านได้ ความสามารถในการอ่านนี้ขึ้นอยู่กับมนุษย์และคอมพิวเตอร์เป็นหลัก JSTL ช่วยให้โปรแกรมเมอร์สามารถดูหน้าเว็บที่มีเฉพาะแท็ก HTML และ HTML ที่สมบูรณ์เท่านั้น
รหัสสคริปต์เล็ต SP ไม่สามารถอ่านได้สำหรับมนุษย์ สคริปต์เล็ตและโค้ด HTML ที่ผสมกันนี้เป็นเรื่องยากสำหรับคอมพิวเตอร์ที่จะอ่าน โดยเฉพาะอย่างยิ่งสำหรับเครื่องมือ HTML อย่างเป็นทางการเช่น Dreamweaver และ Microsoft FrontPage ความไร้สัญชาตญาณจะยิ่งโดดเด่นยิ่งขึ้น ในปัจจุบัน เครื่องมือ HTML ที่เป็นทางการส่วนใหญ่แยกโค้ดสคริปต์เล็ต JSP ในรูปแบบของบล็อกที่ไม่สามารถแก้ไขได้ เครื่องมือ HTML อย่างเป็นทางการประเภทนี้มักจะไม่สามารถแก้ไขโค้ด JSP scriptlet ได้โดยตรง
รหัสต่อไปนี้แสดงให้เห็นว่าตัวอย่างตัวนับนี้สามารถเขียนโดยใช้ JSTL ได้อย่างไร อย่างที่คุณเห็น รายการโค้ดนี้ไม่เปลี่ยนรูป มีเพียงแท็กเดียวเท่านั้นที่ใช้ แท็ก HTML และ JSTL ผสมกันเพื่อสร้างโปรแกรมนี้
<%@ taglib uri=" http://java.sun.com/jstl/core " คำนำหน้า = "c" %>
<html>
<หัว>
<title>นับถึง 10 ตัวอย่าง (ใช้ JSTL)</title>
</หัว>
<ร่างกาย>
<c:forEach var="i" beginning="1" end="10" step="1">
<c:ออกค่า="${i}" />
<br />
</c:สำหรับแต่ละ>
</ร่างกาย>
</html>
เมื่อคุณตรวจสอบโค้ดสำหรับตัวอย่างข้างต้น คุณจะเห็นว่าหน้า JSP มีเพียงแท็กเท่านั้น โค้ดด้านบนใช้แท็ก HTML เช่น <head> และ <br> การใช้แท็กนี้ไม่ได้จำกัดอยู่เพียงแท็ก HTML รหัสนี้ยังสามารถใช้แท็ก JSTL เช่น <c:forEach> และ <c:out> ในบทความนี้ เราจะแนะนำพื้นฐานบางประการของ JSTL
ติดตั้ง JSTL
หากต้องการใช้ JSTL คุณต้องติดตั้งคอนเทนเนอร์ JSP 1.2 (หรือสูงกว่า) คอนเทนเนอร์ JSP ที่พบบ่อยที่สุดคือ Apache Tomcat คุณสามารถดาวน์โหลดได้จาก http://jakarta.apache.org/tomcat/ Tomcat แบบสแตนด์อโลนอนุญาตให้คุณใช้โค้ดสคริปต์เล็ต JSP ปกติ หากต้องการใช้ JSTL คุณต้องติดตั้ง JSTL ใน Tomcat URL หลักสำหรับ JSTL คือ http://java.sun.com/products/jsp/jstl/ หากต้องการใช้ JSTL คุณต้องแตกไฟล์นี้และติดตั้งลงในตำแหน่งที่ถูกต้องสำหรับ Tomcat
ในการติดตั้ง JSTL ใน Tomcat มีสามขั้นตอน:
คัดลอกไฟล์ JSTL JAR ไปยังไดเร็กทอรี lib ของ Tomcat
หากคุณใช้ Windows ตำแหน่งที่เป็นไปได้มากที่สุดของไดเร็กทอรี lib คือ C:Program FilesApache Tomcat 4.0webapps ROOT เว็บ-INFlib. คุณควรคัดลอกแพ็กเกจ JAR เหล่านี้ไปยังไดเร็กทอรี Tomcat JAR ของคุณ
คัดลอกไฟล์ JSTL TLD ไปยังไดเร็กทอรี web-inf ของ Tomcat
เมื่อคุณตรวจสอบไฟล์การแจกจ่าย JSTL คุณจะสังเกตเห็นว่าไฟล์ 8 ไฟล์ลงท้ายด้วยนามสกุล TLD ควรคัดลอกไฟล์ทั้ง 8 ไฟล์ไปยังไดเร็กทอรี web-inf ของคุณ
แก้ไขไฟล์ web.xml เพื่อรวมไฟล์ TLD เหล่านี้
สุดท้าย คุณต้องแก้ไข web.xml ของคุณและเพิ่มรายการไลบรารีแท็ก 8 รายการ รายการตารางที่ต้องเพิ่มมีดังนี้:
<แท็กลิบ>
<taglib-uri>http://java.sun.com/jstl/fmt</taglib-uri>
<taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/fmt-rt</taglib-uri>
<taglib-location>/WEB-INF/fmt-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/core-rt</taglib-uri>
<taglib-location>/WEB-INF/c-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql</taglib-uri>
<taglib-location>/WEB-INF/sql.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/sql-rt</taglib-uri>
<taglib-location>/WEB-INF/sql-rt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x</taglib-uri>
<taglib-สถานที่>/WEB-INF/x.tld</taglib-สถานที่>
</taglib>
<taglib>
<taglib-uri>http://java.sun.com/jstl/x-rt</taglib-uri>
<taglib-สถานที่>/WEB-INF/x-rt.tld</taglib-สถานที่>
</taglib>
หลังจากทำตามสามขั้นตอนข้างต้นแล้ว คุณก็พร้อมที่จะทดสอบการติดตั้ง JSTL ของคุณแล้ว ซึ่งสามารถตรวจสอบได้โดยการสร้างเพจ JSP ที่มี JSTL หนึ่งในโปรแกรมตัวอย่างที่ง่ายที่สุดคือโปรแกรมตัวนับด้านบน คุณควรวางไว้ในไดเรกทอรี webroot ของคุณ (C:Program FilesApache Tomcat 5.0webappsROOT) เมื่อ Tomcat เริ่มต้น คุณควรจะสามารถดูหน้านี้ได้โดยไปที่ http://127.0.0.1:8080/count.jsp
หากคุณไม่ได้ติดตั้ง JSTL อย่างถูกต้อง ข้อความแสดงข้อผิดพลาดอาจไม่ปรากฏขึ้น หาก JSTL ไม่สามารถตีความความหมายของแท็กของคุณได้ เว็บเบราว์เซอร์จะข้ามไป เว็บเบราว์เซอร์จะตีความแท็ก HTML ที่ไม่รู้จักเหล่านี้ เบราว์เซอร์ส่วนใหญ่เพิกเฉยต่อแท็ก HTML ที่ไม่รู้จักเหล่านี้
มีต่อ...
แปลโดย Caiyi0903(Willpower),2004.2.19