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
Đăng nhận xét