JavaScript is required

Giả sử đã xây dựng một JavaBean TimeBean với 2 phương thức: public int getHours()

public void setHours(int h)

hãy cho biết lệnh nào sau đây là đúng trong trang JSP?

id="TimeBean1" scope="request"/>

name="TimeBean1" value="10"/>

name="TimeBean" property="hours"/>

<%TimeBean1.setHours(10);%>

A.

Lệnh 1

B.

Lệnh 2

C.

Lệnh 3

D.

Lệnh 4

Trả lời:

Đáp án đúng: D


Câu hỏi này kiểm tra kiến thức về cách sử dụng JavaBean trong trang JSP, đặc biệt là các thẻ jsp:useBean, jsp:setProperty và jsp:getProperty, cũng như cách truy cập trực tiếp thông qua scriptlet. * **Lệnh 1:** `` Khai báo một JavaBean với id là "TimeBean1" và phạm vi là request. Lệnh này đúng cú pháp và có chức năng khai báo một bean để sử dụng. * **Lệnh 2:** `` Lệnh này thiếu thuộc tính `property`. Để set giá trị cho thuộc tính `hours` của bean `TimeBean1`, ta cần chỉ rõ thuộc tính cần set. Ví dụ: ``. Vì thiếu `property`, lệnh này sai. * **Lệnh 3:** `` Lệnh này sai vì `name` phải khớp với `id` của bean đã khai báo. Ở lệnh 1, id là `TimeBean1`, trong khi ở lệnh 3 lại là `TimeBean`. Ngoài ra, lệnh này chỉ lấy giá trị nhưng không hiển thị giá trị đó ra trang JSP. * **Lệnh 4:** `<%TimeBean1.setHours(10);%>` Lệnh này sử dụng scriptlet để gọi phương thức `setHours` của bean `TimeBean1`. Để sử dụng được cách này, bean `TimeBean1` phải được khai báo trước đó. Tuy nhiên, cách này không được khuyến khích vì nó làm mất tính trong sáng của JSP và khó bảo trì. Trong 4 lệnh trên, lệnh 1 đúng về mặt cú pháp và chức năng khai báo bean. Tuy nhiên, đề bài hỏi lệnh nào đúng trong việc *sử dụng* bean để set và get giá trị. Lệnh 4 có thể đúng nếu bean đã được khởi tạo và có thể truy cập được, nhưng nó sử dụng scriptlet, là cách không được khuyến khích. Lệnh 2 sai vì thiếu thuộc tính property. Lệnh 3 sai vì name không khớp và thiếu hiển thị giá trị. Do đó, không có đáp án nào hoàn toàn đúng theo yêu cầu của đề bài.

Câu hỏi liên quan