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...