2010-07-26 43 views
7

Tôi đang thêm một số chức năng khác vào trang có hai thẻ được đề cập trong tiêu đề. Tôi nhận thấy rằng biến tôi khai báo trong <% ... %> không thể được sử dụng trong <%! ... %> và ngược lại. Sự khác nhau giữa hai cách và cách tôi có thể khai báo các biến có thể được sử dụng trong hai thẻSự khác biệt giữa <% ... %> và <%! ... %> trong jsp

Trả lời

14

<% ... %> được sử dụng để nhúng mã java trong phương thức chính service() của JSP. Nó được thực hiện trong khi hiển thị trang.

<%! ... %> được sử dụng để xác định mã bên ngoài của luồng trang và do đó bên ngoài phương thức chính service(). Thông thường, điều này được sử dụng để xác định các phương thức tiện ích được gọi từ bên trong khối <% ... %>.

Cả hai cách tiếp cận hiện đã lỗi thời. JSP EL, JSTL và các lớp thẻ là cách ưu tiên để làm điều tương tự.

+0

tôi chỉ có thể thêm toàn bộ jsp đó hiện không còn được dùng kể từ jee6. jsf - là công nghệ chế độ xem chính. – foret

+0

hm, nó có thực sự bị phản đối không? Tôi nghi ngờ rằng – Bozho

+0

@bozho: Tôi đoán bạn đang đề cập đến nhận xét, không phải là câu trả lời? @skaffman Tôi thứ hai khái niệm tập lệnh bị phản đối rất nhiều, trong khi các JSP @foret có lẽ sẽ luôn phù hợp với các trường hợp cần phải có các khung hành động vì khung thành phần quá đói. –

Các vấn đề liên quan