useBean การกระทำค่อนข้างหลากหลาย อันดับแรกจะค้นหาวัตถุที่มีอยู่โดยใช้ตัวแปร id และขอบเขต หากไม่พบวัตถุ วัตถุนั้นจะพยายามสร้างวัตถุที่ระบุ
วิธีที่ง่ายที่สุดในการบรรจุ bean มีดังนี้ -
<jsp:useBean id = "name" class = "package.class" />
เมื่อโหลดคลาส bean แล้ว คุณสามารถใช้ jsp:setProperty และ jsp:getProperty การดำเนินการเพื่อแก้ไขและเรียกคุณสมบัติของถั่ว
ตารางต่อไปนี้แสดงรายการแอตทริบิวต์ที่เกี่ยวข้องกับการกระทำ useBean -
S.No. | แอตทริบิวต์ &คำอธิบาย |
---|---|
1 | คลาส กำหนดชื่อแพ็คเกจเต็มของถั่ว |
2 | พิมพ์ ระบุชนิดของตัวแปรที่จะอ้างอิงถึงวัตถุ |
3 | ชื่อถั่ว ให้ชื่อของ bean ตามที่ระบุโดยเมธอด instantiate () ของคลาส java.beans.Beans |
ตอนนี้ให้เราพูดถึง jsp:setProperty และ jsp:getProperty ก่อนที่จะยกตัวอย่างที่ถูกต้องเกี่ยวกับการกระทำเหล่านี้
การดำเนินการ
setProperty การกระทำกำหนดคุณสมบัติของถั่ว ต้องกำหนด Bean ก่อนการดำเนินการนี้ มีสองวิธีพื้นฐานในการใช้การกระทำ setProperty -
คุณสามารถใช้ jsp:setProperty หลังจากนั้น แต่อยู่นอก jsp:useBean ตามที่ระบุด้านล่าง −
<jsp:useBean id = "myName" ... /> ... <jsp:setProperty name = "myName" property = "someProperty" .../>
ในกรณีนี้ jsp:setProperty ถูกดำเนินการโดยไม่คำนึงว่ามีการยกตัวอย่าง bean ใหม่หรือพบ bean ที่มีอยู่แล้ว
บริบทที่สองที่ jsp:setProperty สามารถปรากฏขึ้นได้อยู่ภายในเนื้อหาของ jsp:useBean ตามที่ระบุด้านล่าง −
<jsp:useBean id = "myName" ... > ... <jsp:setProperty name = "myName" property = "someProperty" .../> </jsp:useBean>
ที่นี่ jsp:setProperty จะดำเนินการก็ต่อเมื่อวัตถุใหม่ถูกสร้างอินสแตนซ์ ไม่ใช่หากพบวัตถุที่มีอยู่
ตารางต่อไปนี้แสดงรายการแอตทริบิวต์ที่เกี่ยวข้องกับ setProperty การกระทำ -
S.No. | แอตทริบิวต์ &คำอธิบาย |
---|---|
1 | ชื่อ กำหนดคุณสมบัติที่จะตั้งค่า bean ถั่วจะต้องถูกกำหนดไว้ก่อนหน้านี้ |
2 | ทรัพย์สิน ระบุคุณสมบัติที่คุณต้องการตั้งค่า ค่า "*" หมายความว่าพารามิเตอร์คำขอทั้งหมดที่มีชื่อตรงกับชื่อคุณสมบัติ bean จะถูกส่งต่อไปยังเมธอด setter ที่เหมาะสม |
3 | ค่า ค่าที่จะกำหนดให้กับคุณสมบัติที่กำหนด ค่าของพารามิเตอร์เป็นค่าว่าง หรือไม่มีพารามิเตอร์ การดำเนินการ setProperty จะถูกละเว้น |
4 | พารามิเตอร์ แอตทริบิวต์ param คือชื่อของพารามิเตอร์คำขอที่มีค่าคุณสมบัติที่จะได้รับ คุณไม่สามารถใช้ทั้งค่าและพารามิเตอร์ได้ แต่ก็ไม่สามารถใช้ทั้งคู่ได้ |
การดำเนินการ
getProperty action ใช้เพื่อดึงค่าของคุณสมบัติที่กำหนดและแปลงเป็นสตริง และสุดท้ายแทรกลงในเอาต์พุต
การดำเนินการ getProperty มีแอตทริบิวต์เพียงสองรายการเท่านั้น ซึ่งจำเป็นต้องมีทั้งสองอย่าง ไวยากรณ์ของการกระทำ getProperty มีดังนี้ -
<jsp:useBean id = "myName" ... /> ... <jsp:getProperty name = "myName" property = "someProperty" .../>
ตารางต่อไปนี้แสดงรายการแอตทริบิวต์ที่จำเป็นที่เกี่ยวข้องกับ getProperty การกระทำ -
S.No. | แอตทริบิวต์ &คำอธิบาย |
---|---|
1 | ชื่อ ชื่อของถั่วที่มีคุณสมบัติที่จะเรียก ถั่วจะต้องถูกกำหนดไว้ก่อนหน้านี้ |
2 | ทรัพย์สิน แอตทริบิวต์คุณสมบัติคือชื่อของคุณสมบัติ Bean ที่จะดึงข้อมูล |
ตัวอย่าง
ให้เรากำหนดถั่วทดสอบที่จะใช้เพิ่มเติมในตัวอย่างของเรา -
/* File: TestBean.java */ package action; public class TestBean { private String message = "No message specified"; public String getMessage() { return(message); } public void setMessage(String message) { this.message = message; } }
รวบรวมโค้ดด้านบนเป็น TestBean.class . ที่สร้างขึ้น และตรวจสอบให้แน่ใจว่าคุณได้คัดลอก TestBean.class ใน C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\action โฟลเดอร์และ CLASSPATH ควรตั้งค่าตัวแปรไว้ที่โฟลเดอร์นี้ด้วย -
ตอนนี้ใช้รหัสต่อไปนี้ใน main.jsp ไฟล์. โหลด bean และตั้งค่า/รับพารามิเตอร์ String อย่างง่าย -
<html> <head> <title>Using JavaBeans in JSP</title> </head> <body> <center> <h2>Using JavaBeans in JSP</h2> <jsp:useBean id = "test" class = "action.TestBean" /> <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." /> <p>Got message....</p> <jsp:getProperty name = "test" property = "message" /> </center> </body> </html>
ให้เราลองเข้าถึง main.jsp , มันจะแสดงผลดังต่อไปนี้ −
Using JavaBeans in JSP Got message.... Hello JSP...