Bài đăng nổi bật

Expression Language

EL là sự rút ngắn tuyệt với trong việc viết mã làm việc với các thuộc tính đặt trong các phạm vi (như page, request, session và application)
EL được giới thiệu trong phiên bản JSP 2.0
Trong phần này chúng ta tìm hiểu cách sử dụng EL để truy xuất: Thuộc tính của bean
Cú pháp: ${ expression }
expression là một biểu thức cho một giá trị được kết xuất tại vị trí đặt biểu thức EL. Trong biểu thức này có thể chức attribute, parameter, cookiee hay header.
Ví dụ 1
  • ${salary * 2}: nhân đôi giá trị của thuộc tính salary và trả về giá trị của biểu thức salary * 2
  • ${param.salary}: trả về giá trị của tham số salary
  • ${employee.salary}: trả về giá trị của thuộc tính salary thuộc đối tượng employee
  • ${sessionScope["salary"]}: trả về giá trị của thuộc tính là salary đặt trong session

Ví dụ 2
Controller
@RequestMapping("/el/demo1")
public String sayHello(ModelMap model, HttpSession session){
     session.setAttribute("name", “codeleanvn”);
     model.addAttribute("age", 1)
}
jsp
<li>name: ${name}</li>
<li>salary: ${salary}</li>
<li>requestScope.name: ${requestScope.name}</li>
<li>requestScope.age: ${requestScope.age}</li>
<li>sessionScope.name: ${sessionScope.name}</li>
<li>sessionScope.age: ${sessionScope.age}</li>
output
name: codeleanvn
age: 1
requestScope.name:
requestScope.age: 1
sessionScope.name: codeleanvn
sessionScope.age:

Truy xuất thuộc tính của bean

Nếu thuộc tính là một bean thì EL cho phép truy xuất các thuộc tính một cách đơn giản.
Cú pháp: ${bean.property}
Với cú pháp này trả về giá trị của thuộc tính propery của thuộc tính bean. Có nghĩa là trả về giá trị của phương thức bean.getProperty()
Ví dụ 1
${customer.name} trả về customer.getName()
Ví dụ 2
Controller
@RequestMapping("/el/demo2")
public String demo2(ModelMap model) {
     Student student = new Student("codeleanvn", 10.0, "APP");
     model.addAttribute("student", student);
     return "el/sample";
}
jsp
<li>name: ${student.name}</li>
<li>mark: ${student.mark}</li>
output
name: codeleanvn
mark:10.0


Post a Comment

أحدث أقدم