JSP-Cú pháp

Cú pháp trong JavaServer Pages (JSP) bao gồm nhiều thành phần cho phép bạn kết hợp mã Java với HTML để tạo các trang web động. Dưới đây là các thành phần cú pháp chính trong JSP:

1. Scriptlet

  • Scriptlet là đoạn mã Java được chèn vào trong JSP và được thực thi khi trang JSP được yêu cầu.
  • Được viết trong các thẻ <% ... %>. Ví dụ:
   <%
       String message = "Chào mừng đến với JSP!";
       out.println(message);
   %>

2. Expression

  • Biểu thức JSP cho phép bạn xuất giá trị của một biểu thức Java trực tiếp vào nội dung HTML.
  • Được viết trong thẻ <%= ... %>. Ví dụ:
   <p>Ngày hôm nay là: <%= new java.util.Date() %></p>

3. Declaration

  • Khai báo biến hoặc phương thức sử dụng trong JSP. Những khai báo này sẽ được dịch thành các thành phần của lớp servlet được tạo ra từ trang JSP.
  • Được viết trong thẻ <%! ... %>. Ví dụ:
   <%! 
       private int counter = 0;
       public int getCounter() {
           return ++counter;
       }
   %>

4. Directive

  • Như đã đề cập trước đó, directives cung cấp thông tin toàn cục về trang JSP và ảnh hưởng đến quá trình xử lý trang. Được viết trong thẻ <%@ ... %>. Ví dụ (Page Directive):
   <%@ page language="java" contentType="text/html; charset=UTF-8" %>

5. Comment

  • Bình luận trong JSP có thể là bình luận JSP hoặc bình luận HTML:
    • Bình luận JSP: Không xuất hiện trong mã HTML cuối cùng. Được viết trong thẻ <%-- ... --%>.
    • Bình luận HTML: Xuất hiện trong mã HTML cuối cùng. Được viết trong thẻ <!-- ... -->.
    Ví dụ (Bình luận JSP):
   <%-- Đây là bình luận JSP --%>

Ví dụ (Bình luận HTML):

   <!-- Đây là bình luận HTML -->

6. Action Tag

  • Các thẻ hành động (JSP Action Tags) được sử dụng để điều khiển hành động trên trang JSP. Một số thẻ hành động phổ biến bao gồm:
    • <jsp:include>: Bao gồm một trang JSP khác hoặc một tài nguyên.
    • <jsp:forward>: Chuyển hướng yêu cầu đến một tài nguyên khác.
    • <jsp:param>: Truyền tham số đến một thẻ hành động khác.
    Ví dụ (Include Action):
   <jsp:include page="header.jsp" />

7. Expression Language (EL)

  • EL cung cấp một cách đơn giản để truy cập dữ liệu như thuộc tính hoặc giá trị trong các đối tượng JavaBeans, collections, và các đối tượng khác mà không cần viết mã Java.
  • Được viết trong thẻ ${ ... }. Ví dụ:
   <p>Chào, ${user.name}!</p>

8. Tag Libraries (Thư Viện Thẻ)

  • JSP cho phép sử dụng các thư viện thẻ (tag libraries) để mở rộng chức năng của JSP thông qua các thẻ tùy chỉnh.
  • Thường được khai báo bằng directive <%@ taglib %>. Ví dụ:
   <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
   <c:if test="${user != null}">
       <p>Chào, ${user.name}!</p>
   </c:if>

Những thành phần cú pháp trên giúp bạn dễ dàng viết và duy trì các trang JSP, từ những trang đơn giản đến các ứng dụng web phức tạp.