JSTL (ไลบรารีแท็กมาตรฐาน JSP)

ในบทช่วยสอน JSTL นี้ เราจะดูว่าการใช้แท็ก JSTL ที่แตกต่างกันจะทำให้การเขียนโค้ด JSP ง่ายขึ้นได้อย่างไร

JSTL คืออะไร Java?

เจเอสทีแอล ย่อมาจาก Java ไลบรารีแท็กมาตรฐานของหน้าเซิร์ฟเวอร์ และเป็นคอลเลกชันของไลบรารีแท็ก JSP ที่กำหนดเองซึ่งมีฟังก์ชันการพัฒนาเว็บทั่วไป JSTL เป็นไลบรารีแท็กมาตรฐานของ JSP

ข้อดีของ JSTL

ด้านล่างนี้เป็นข้อดีของ JSTL:

  1. แท็กมาตรฐาน: มีฟังก์ชันการทำงานแบบพกพาของเพจ JSP ที่หลากหลาย เป็นเรื่องง่ายสำหรับนักพัฒนาที่จะเข้าใจโค้ด
  2. รหัสเรียบร้อยและสะอาด: เนื่องจากสคริปต์ทำให้นักพัฒนาสับสน การใช้ JSTL จะทำให้โค้ดเรียบร้อยและสะอาดตา
  3. อัตโนมัติ Javaสนับสนุนการสอดส่องถั่ว: มีข้อได้เปรียบของ JSTL มากกว่าสคริปต์เล็ต JSP การจัดการภาษา JSTL Expression Javaรหัส Bean ได้อย่างง่ายดายมาก เราไม่จำเป็นต้องดาวน์คาสอ็อบเจ็กต์ซึ่งได้รับการดึงมาเป็นแอตทริบิวต์ที่กำหนดขอบเขต การใช้โค้ด JSP scriptlets จะซับซ้อน และ JSTL ได้ทำให้วัตถุประสงค์นั้นง่ายขึ้น
  4. ง่ายขึ้นสำหรับมนุษย์ในการอ่าน: JSTL มีพื้นฐานมาจาก XMLซึ่งคล้ายกับ HTML มาก ดังนั้นจึงเป็นเรื่องง่ายสำหรับนักพัฒนาที่จะเข้าใจ
  5. คอมพิวเตอร์เข้าใจได้ง่ายขึ้น: เครื่องมือเช่น Dreamweaver และหน้าแรกกำลังสร้างโค้ด HTML เพิ่มมากขึ้น เครื่องมือ HTML ทำหน้าที่จัดรูปแบบโค้ด HTML ได้เป็นอย่างดี รหัส HTML ผสมกับรหัสสคริปต์ เนื่องจาก JSTL แสดงเป็นแท็กที่สอดคล้องกับ XML จึงเป็นเรื่องง่ายสำหรับการสร้าง HTML ที่จะแยกวิเคราะห์โค้ด JSTL ภายในเอกสาร

แท็ก JSTL

แท็กหลักคือแท็กที่ใช้บ่อยที่สุดใน JSP พวกเขาให้การสนับสนุนสำหรับ

  • การย้ำ
  • ตรรกะเงื่อนไข
  • จับข้อยกเว้น
  • URL ไปข้างหน้า
  • เปลี่ยนเส้นทาง ฯลฯ

ในการใช้แท็กหลัก เราจำเป็นต้องกำหนดไลบรารีแท็กก่อน และด้านล่างคือไวยากรณ์เพื่อรวมไลบรารีแท็ก

ไวยากรณ์ :

<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core%>

ที่นี่

  • คำนำหน้าสามารถใช้เพื่อกำหนดแท็กหลักทั้งหมดและ
  • uri เป็นไลบรารีของ taglib ที่ใช้นำเข้า

มาดูแท็กหลักบางส่วนโดยละเอียด

1. ออก

  • ผลลัพธ์ของการแสดงออกจะแสดงในแท็ก out
  • สามารถหลีกเลี่ยงแท็ก XML ได้โดยตรง ดังนั้นจึงไม่ได้รับการประเมินว่าเป็นแท็กจริง

ไวยากรณ์:

<c:out value="" default="" escapeXML="">
  • ค่านี้แสดงถึงข้อมูลไปยังเอาต์พุตและเป็นค่าบังคับ
  • ค่าเริ่มต้นคือความล้มเหลวในการส่งออกข้อมูล และไม่บังคับ
  • escapeXML – เป็นจริงหากหลบหนีอักขระ XML

ตัวอย่าง:

Coretag_jsp1.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP1</title>
</head>
<body>

</body>
</html>

คำอธิบายของรหัส:

รหัสบรรทัด 3: คำนำหน้า taglib นี้จำเป็นสำหรับแท็กทั้งหมด และคำนำหน้าที่เพิ่มคือ 'c' ดังนั้นจึงสามารถใช้เป็นคำนำหน้าสำหรับคอร์แท็กทั้งหมดได้

รหัสบรรทัด 12: ที่นี่เรากำลังใช้ coretag พร้อมกับคำนำหน้า "c" และส่วนนี้จะพิมพ์ค่าในแท็กนิพจน์ ดังนั้นผลลัพธ์จะเป็นชื่อ

เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ต่อไปนี้:

แท็ก JSTL Core - ออก

Output:

  • เราได้รับค่าเป็นชื่อจากแท็กหลัก "out" ซึ่งจะพิมพ์ในสตรีมเอาต์พุต

2. จับ

  • โดยจะตรวจจับข้อยกเว้นที่สามารถโยนได้ซึ่งเกิดขึ้นในร่างกายและแสดงเป็นเอาต์พุต
  • ใช้สำหรับจัดการกับข้อผิดพลาดและตรวจจับข้อผิดพลาด

ไวยากรณ์:

<c:catchvar="">

ในที่นี้ var แสดงถึงชื่อของตัวแปร ซึ่งจะเก็บข้อยกเว้นที่สามารถส่งได้

ตัวอย่าง:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP2</title>
</head>
<body>
<c:catch var="guruException">
   <% int num = 10/0; %>
</c:catch>
The Exception is : ${guruException} 
</body>
</html>

คำอธิบายของรหัส:

รหัสบรรทัด 3: คำนำหน้า taglib นี้จำเป็นสำหรับแท็กทั้งหมดและคำนำหน้าที่เพิ่มคือ 'c' ดังนั้นจึงสามารถใช้เป็นคำนำหน้าสำหรับ coretags ทั้งหมด

รหัสบรรทัด 11-13: Coretag catch ใช้เพื่อตรวจจับข้อยกเว้นและพิมพ์ข้อยกเว้น ที่นี่ข้อยกเว้นจะเกิดขึ้นเมื่อ 10/0 และข้อยกเว้นนั้นมีชื่อ "guruException"

รหัสบรรทัด 14: เรากำลังพิมพ์ "guruException"

เมื่อคุณรันโค้ด คุณจะได้รับผลลัพธ์ต่อไปนี้:

แท็ก JSTL Core - จับ

Output:

  • เราได้รับ Arithmetic Exception เป็น /by ศูนย์ และมันถูกพิมพ์ในเอาต์พุตโดยใช้ตัวแปร “guruException”

3 นำเข้า

  • เราสามารถนำเข้าเนื้อหาไฟล์อื่นลงในหน้า JSP ได้เหมือนที่เราทำ JSP รวมถึงการดำเนินการ.
  • ที่นี่เราสามารถรวม URL และเนื้อหาจะแสดงบนเพจนั้นได้

ไวยากรณ์:

<c:importvar="" uri="">

ที่นี่ var คือชื่อตัวแปรซึ่งเป็นตัวระบุที่จะเก็บชื่อไฟล์/uri โดยที่ uri คือชื่อไฟล์สัมพันธ์หรือ uriname

coretag_jsp31.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP 31</title>
</head>
<body>
<c:import var="displayfile" url="coretag_jsp32.jsp">
</c:import>
<c:out value="${displayfile}"/>
</body>
</html>

Coretag_jsp32.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<a>The file is diplayed after importing</a>
</body>
</html>

คำอธิบายของรหัส:

Coretag_jsp31.jsp

รหัสบรรทัด 3: คำนำหน้า taglib นี้จำเป็นสำหรับแท็กทั้งหมดและคำนำหน้าที่เพิ่มคือ 'c' ดังนั้นจึงสามารถใช้เป็นคำนำหน้าสำหรับ coretags ทั้งหมด

รหัสบรรทัด 11-12: ที่นี่เรากำลังนำเข้าไฟล์ coretag_jsp32.jsp ลงในไฟล์นี้โดยใช้แท็กนำเข้า

รหัสบรรทัด 13: ที่นี่เรากำลังพิมพ์ไฟล์ coretag_jsp32.jsp โดยใช้แท็ก out

เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้

แท็ก JSTL Core - นำเข้า

Output:

  • Coretag_jsp32 ถูกพิมพ์ในเอาต์พุตเนื่องจากไฟล์นี้ถูกอิมพอร์ตใน coretag_jsp31.jsp

4.สำหรับแต่ละคน

  • ใช้เพื่อวนซ้ำจำนวนองค์ประกอบในชุดคำสั่ง
  • มันเหมือนกับก Java forloop.

ไวยากรณ์:

<c:forEach var="" begin=""  end="">
  • ในที่นี้ var แสดงถึงชื่อตัวแปรที่จะเก็บชื่อตัวนับ
  • Begin แสดงถึงมูลค่าเริ่มต้นของตัวนับ
  • End จะแสดงมูลค่าสิ้นสุด

ตัวอย่าง:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP4</title>
</head>
<body>
<c:forEach var="gurucount" begin="5" end="10">
 <c:out value="${gurucount}"/>
</c:forEach>
</body>
</html>

คำอธิบายของรหัส:

รหัสบรรทัด 3: คำนำหน้า taglib นี้จำเป็นสำหรับแท็กทั้งหมดและคำนำหน้าที่เพิ่มคือ 'c' ดังนั้นจึงสามารถใช้เป็นคำนำหน้าสำหรับ coretags ทั้งหมด

รหัสบรรทัด 11-13: ที่นี่เราใช้ลูป “forEach” โดยที่ชื่อตัวแปรคือ “gurucount” ซึ่งเริ่มนับเป็น 5 และสิ้นสุดนับเป็น 10 เรากำลังพิมพ์ตัวแปร gurucount ซึ่งมีตัวเลขตั้งแต่ 5 ถึง 10

เมื่อคุณรันโค้ด คุณจะได้รับผลลัพธ์ดังต่อไปนี้

แท็ก JSTL Core - forEach

Output:

  • ผลลัพธ์ที่เราได้รับคือเริ่มจาก 5 ถึง 10

5 ถ้า

  • มันถูกใช้สำหรับ การทดสอบ เงื่อนไข
  • หากใช้แท็กเพื่อทดสอบเงื่อนไขว่าเป็นจริงหรือไม่ตามนี้ บล็อกของโค้ดจะถูกดำเนินการ

ไวยากรณ์:

<c:if test="${condition}></c:if>

หากเงื่อนไขเป็นจริง ชุดคำสั่งต่างๆ จะถูกดำเนินการ

ตัวอย่าง:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP5</title>
</head>
<body>
<c:set var="count" value="100"/>
<c:if test="${count == 100}">
   <c:out value="The count is 100"/>
</c:if>
</body>
</html>

คำอธิบายของรหัส:

รหัสบรรทัด 3: คำนำหน้า taglib นี้จำเป็นสำหรับแท็กทั้งหมดและคำนำหน้าที่เพิ่มคือ 'c' ดังนั้นจึงสามารถใช้เป็นคำนำหน้าสำหรับ coretags ทั้งหมด

รหัสบรรทัด 11: ที่นี่เรากำลังตั้งค่าตัวแปรที่มีชื่อว่านับถึง 100

รหัสบรรทัด 12-14: ที่นี่เราใช้เงื่อนไข "if" โดยที่เราจะตรวจสอบว่าจำนวนนับเท่ากับ 100 หรือไม่ หากเท่ากับ 100 เราจะได้ผลลัพธ์เป็น "จำนวนนับเท่ากับ 100"

เมื่อคุณรันโค้ดข้างต้น คุณจะได้รับผลลัพธ์ดังต่อไปนี้

แท็ก JSTL Core - ถ้า

Output:

  • เนื่องจากเงื่อนไข "if" เป็นจริง เราจะได้ผลลัพธ์เป็น "จำนวนคือ 100"

6. เปลี่ยนเส้นทาง

  • ใช้สำหรับเปลี่ยนเส้นทางหน้าปัจจุบันไปยัง URL อื่นโดยระบุ URL ที่เกี่ยวข้องของแท็กนี้
  • รองรับ URL ที่สัมพันธ์กับบริบท

ไวยากรณ์:

<c:redirect url="" context=""/>

ที่นี่ url คือ URL ที่เกี่ยวข้องซึ่งจะต้องเปลี่ยนเส้นทางและชื่อบริบทของแอปพลิเคชันเว็บในเครื่อง

ตัวอย่าง:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Core Tag JSP6</title>
</head>
<body>
<c:redirect url="/"/>
</body>
</html>

คำอธิบายของรหัส:

รหัสบรรทัด 3: คำนำหน้า taglib นี้จำเป็นสำหรับแท็กทั้งหมดและคำนำหน้าที่เพิ่มคือ 'c' ดังนั้นจึงสามารถใช้เป็นคำนำหน้าสำหรับ coretags ทั้งหมด

รหัสบรรทัด 11: ที่นี่เราใช้ “แท็กเปลี่ยนเส้นทาง” โดยที่เราระบุชื่อ URL และเมื่อเราคลิกที่หน้านั้น มันจะเปลี่ยนเส้นทางไปยังไซต์ที่ได้รับการกำหนดให้เปลี่ยนเส้นทาง

เมื่อคุณรันโค้ดข้างต้น คุณจะได้ผลลัพธ์ดังต่อไปนี้:

แท็ก JSTL Core - เปลี่ยนเส้นทาง

Output:

  • เราได้รับ URL เอาต์พุต guru99.com ซึ่งเปลี่ยนเส้นทางโดย coretag_jsp6.jsp

แท็กที่กำหนดเอง JSTL

  • มันเป็นสิ่งที่ผู้ใช้กำหนด JSP องค์ประกอบภาษา
  • เมื่อ JSP ถูกแปลเป็นเซิร์ฟเล็ต แท็กที่กำหนดเองจะถูกแปลงเป็นคลาสที่ดำเนินการกับอ็อบเจ็กต์ และถูกเรียกว่าเป็นตัวจัดการแท็ก
  • การกระทำเหล่านั้นเมื่อมีการดำเนินการเซิร์ฟเล็ตจะถูกเรียกใช้โดยเว็บคอนเทนเนอร์
  • ในการสร้างแท็กแบบกำหนดเองที่ผู้ใช้กำหนด เราจำเป็นต้องสร้างตัวจัดการแท็กซึ่งจะขยาย SimpleTagSupport และต้องแทนที่เมธอด doTag()
  • เราจำเป็นต้องสร้าง TLD โดยที่เราต้องแมปไฟล์คลาสใน TLD

ข้อดีของแท็กที่กำหนดเองใน JSP

นี่คือข้อดีของแท็กที่กำหนดเองใน JSP:

  • พกพา: การดำเนินการที่อธิบายไว้ในไลบรารีแท็กจะต้องสามารถใช้ได้ในคอนเทนเนอร์ JSP ใดๆ
  • ง่าย: ผู้ใช้ที่ไม่มีความรู้ความสามารถจะต้องสามารถเข้าใจและใช้กลไกนี้ได้ ผู้จำหน่ายฟังก์ชัน JSP จะต้องพบว่าการทำให้กลไกนี้พร้อมใช้งานสำหรับผู้ใช้ในรูปแบบการดำเนินการนั้นเป็นเรื่องง่าย
  • การแสดงออก: กลไกจะต้องรองรับการดำเนินการที่หลากหลาย รวมถึงการดำเนินการซ้อนกัน องค์ประกอบสคริปต์ภายในเนื้อหาการดำเนินการ การสร้าง การใช้งาน และการอัปเดตตัวแปรสคริปต์
  • ใช้งานได้จากภาษาสคริปต์ที่แตกต่างกัน: แม้ว่าข้อกำหนด JSP ในปัจจุบันจะกำหนดเฉพาะความหมายของสคริปต์ใน Java ภาษาการเขียนโปรแกรม เราต้องการปล่อยให้ความเป็นไปได้ของภาษาสคริปต์อื่น ๆ
  • สร้างขึ้นจากแนวคิดและเครื่องจักรที่มีอยู่: เราไม่อยากสร้างสิ่งที่มีอยู่แล้วขึ้นมาใหม่ นอกจากนี้ เรายังต้องการหลีกเลี่ยงความขัดแย้งในอนาคตเมื่อใดก็ตามที่เราสามารถคาดการณ์ได้

ไวยากรณ์:

พิจารณาว่าเรากำลังสร้างแท็ก testGuru และเราสามารถใช้คลาส taghandlertestTag ซึ่งจะแทนที่เมธอด doTag()

<ex:testGuru/>
Class testTag extends SimpleTagSupport{ public void doTag()}

นอกจากนี้ เราจะต้องแมปคลาส testTag นี้ใน TLD (Tag Library Descriptหรือ) เนื่องจากคอนเทนเนอร์ JSP จะสร้างการแมประหว่างไฟล์คลาสและ uri ที่ได้รับการกล่าวถึงในไฟล์ TLD โดยอัตโนมัติ

อินเทอร์เฟซแท็ก JSP

  • คลาสนี้จะต้องขยายคลาส SimpleTagSupport
  • คลาสนี้จะต้องแทนที่เมธอด doTag() ซึ่งเป็นส่วนหนึ่งของคลาส SimpleTagSupport (การแทนที่เป็นเมธอดที่สืบทอดมาจากคลาสพาเรนต์)
  • อินเทอร์เฟซนี้เป็นอินเทอร์เฟซย่อยของอินเทอร์เฟซ JSPTag
  • โดยมีวิธีการดำเนินการที่จุดเริ่มต้นและจุดสิ้นสุดของแท็ก
  • นอกจากนี้ เราจำเป็นต้องแมปคลาสนี้ใน TLD เช่น Tag Library descriptor

เรากำลังพิจารณาตามตัวอย่างด้านล่าง

วิธีการติดต่อแท็ก

  • doTag() เป็นวิธีการที่เราต้องแทนที่ซึ่งจะมีเนื้อหาสำหรับแท็ก
  • ใช้บริบท JSP ปัจจุบันโดยใช้ getJSPContext()

ตัวอย่าง:

กำหนดเองtag_jsp1.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="ex" uri="WEB-INF/custom.tld"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Custom Tag</title>
</head>
<body>
<ex:guruTag/>
</body>
</html>

กำหนดเอง.tld

<taglib>
  <tlib-version>1.0</tlib-version>
  <jsp-version>2.0</jsp-version>
  <short-name>Test TLD</short-name>
  <tag>
    <name>guruTag</name>
    <tag-class>demotest.guruTag</tag-class>
    <body-content>empty</body-content>
  </tag>
</taglib>

guruTag.java(TagHandler)

package demotest;
import javax.servlet.jsp.tagext.*;
import javax.servlet.jsp.*;
import java.io.*;

public class guruTag extends SimpleTagSupport{
	public void doTag() throws JspException,IOException
	{
		JspWriter out = getJspContext().getOut();
		out.println("Guru Tag");
	}

}

คำอธิบายของรหัส:

guruTag.java(TagHandler)

รหัสบรรทัด 6:คลาส guruTag กำลังขยายคลาส SimpleTagSupport ที่มีอยู่ใน jar javax.servlet.JSP

รหัสบรรทัด 7: ที่นี่เรากำลังเอาชนะเมธอด doTag() ซึ่งส่ง JspException และ IOException

รหัสบรรทัด 9-10: ในวิธีนี้ โค้ดจะถูกฝังลงในแท็กที่กำหนดเองซึ่งจะถูกเรียก เรากำลังรับวัตถุของ JspWriter และนั่นจะพิมพ์ "Guru Tag"

กำหนดเอง.tld

รหัสบรรทัด 6: ชื่อของแท็กที่กำหนดเองในที่นี้คือ "guruTag"

รหัสบรรทัด 7:คลาสแท็กคือ taghandlerclass เช่น guruTag.java ใช้เส้นทางแบบเต็มของไฟล์ตัวจัดการซึ่งรวมถึงเส้นทางไดเรกทอรีของตำแหน่งของไฟล์

กำหนดเองtag_jsp1.jsp

รหัสบรรทัด 3: คำนำหน้า taglib นี้จำเป็นสำหรับแท็กทั้งหมด และคำนำหน้าที่เพิ่มคือ 'ex' ดังนั้นจึงสามารถใช้เป็นคำนำหน้าสำหรับ coretags ทั้งหมดได้ และ uri คือ custom.tld ซึ่งแมปตัวจัดการแท็ก

รหัสบรรทัด 11: ที่นี่เรากำลังกำหนดแท็กที่กำหนดเอง "guruTag" ซึ่งจะเรียกเมธอดคลาสตัวจัดการ doTag() และโค้ดภายในนั้นจะถูกดำเนินการ

เมื่อคุณรันโค้ดข้างต้น คุณจะได้รับผลลัพธ์ดังต่อไปนี้

อินเทอร์เฟซแท็ก JSP

Output:

  • เราได้รับเอาต์พุตเป็น “GuruTag” จาก guruTag.java เช่น TagHandler ซึ่งจะแทนที่เมธอด doTag() และพิมพ์ “Guru Tag” เป็นเอาต์พุต

สรุป

  • ในส่วนนี้ เราได้เรียนรู้เกี่ยวกับไลบรารีแท็กมาตรฐาน JSP ซึ่งเราใช้แท็กหลักและแท็กที่กำหนดเอง
  • แท็กหลัก ได้แก่ แท็ก for, if, redirect, import และ catch ซึ่งเป็นแท็กที่ใช้เพื่อวัตถุประสงค์พื้นฐานใน JSP
  • นอกจากนี้ เรายังสร้างแท็กแบบกำหนดเองซึ่งเราสามารถกำหนดแท็กและใช้ใน JSP ได้