Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

ฉันต้องเข้าใจวิธีใช้ bean และอัปเดตคุณสมบัติของ bean ในหน้า JSP กรุณาแบ่งปันตัวอย่าง


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