Action useBean มีความหลากหลาย มันค้นหาออบเจ็กต์ที่มีอยู่ก่อนโดยใช้ตัวแปร id และ scope หากไม่พบออบเจ็กต์ มันจะพยายามสร้างออบเจ็กต์ที่ระบุ
วิธีที่ง่ายที่สุดในการโหลด Bean คือดังนี้ -
<jsp:useBean id = "name" class = "package.class" />
เมื่อโหลดคลาส Bean แล้ว คุณสามารถใช้ Action jsp:setProperty และ jsp:getProperty เพื่อแก้ไขและดึงคุณสมบัติของ Bean
ตารางต่อไปนี้รายการแอตทริบิวต์ที่เกี่ยวข้องกับ Action useBean -
| ลำดับ | แอตทริบิวต์และคำอธิบาย |
|---|---|
| 1 | class ระบุชื่อแพ็กเกจเต็มของ Bean |
| 2 | type ระบุชนิดของตัวแปรที่จะอ้างอิงถึงออบเจ็กต์ |
| 3 | beanName ให้ชื่อของ Bean ตามที่ระบุโดยเมธอด instantiate() ของคลาส java.beans.Beans |
ตัวอย่าง
ลองกำหนด 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...