Giới thiệu Velocity template

Một phần của tài liệu Cổng báo cáo tổng hợp trực tuyến phục vụ HTTT chỉ đạo ngành y tế cộng đồng (Trang 103 - 107)

L ỜI MỞ ĐẦU

3.2.1.Giới thiệu Velocity template

3. Webwork, Velocity

3.2.1.Giới thiệu Velocity template

Velocity là một ngôn ngữ template được tạo ra nhằm cung cấp một cách tiếp cận dễ dàng hơn trong việc xử lí, thể hiện các thông tin động trên một trang web. Tương tự như JSP, ASP, ASP.Net, về tính năng nhưng velocity nổi trội hơn ở kích thước gọn nhẹ, cú pháp đơn giản và hoàn toàn tách biệt giữa thành phần View và các thành phần khác trong mô hình MVC (Model View Controller).

Ngoài ra, Velocity có thể truy xuất các phương thức public của một đối

tượng Java, hỗ trợ thao tác trên thông tin dựa vào một tập các cú pháp lặp, điều kiện và phép gán….Tính năng này thực sự hấp dẫn các nhà lập trình và những người thiết kế web. Theo đó, velocity giúp tách biệt mối quan hệ giữa một người thiết kế

web và một lập trình viên. Velocity không những chỉ được sử dụng trên các trang

web mà còn được tham chiếu vào trong các lớp đối tượng Java. Do đó, lập trình

viên không cần phải quan tâm đến việc thể hiện của dữ liệu sau khi xử lí như thế nào, và người thiết kế web cũng không cần quan tâm đến việc thông tin được xử lí

Luận văn tốt nghiệp 0112049 - 0112322

như thế nào mà chỉ tập trung vào việc thể hiện luồng thông tin động có được cho người dùng.

9 Cú pháp lặp, phép gán và toán tử điều kiện trong Velocity:

Velocity cung cấp một tập các toán tử đơn giản phục vụ hiệu quả cho việc hiển thị dữ liệu động lên trang web. Sau đây là các toán tử đơn giản và thông dụng nhất.

Toán tử lặp:

#foreach ($name in $listName) #end

Thực hiện duyệt từng đối tượng trong danh sách $listName, kiểu dữ liệu

của danh sách có thể là Set, List hoặc Collection. Mỗi đối tượng lấy ra trong biến #name có thể lấy các thuộc tính của đối tượng thông qua phương thức get của mỗi đối tượng.

Toán tử gán:

#set ($temp = 1)

Toán tử điều kiện:

#if ($temp == 1) #else

#end

3.2.2. Sử dụng velocity và webwork trong môi trường Java và trên trang HTML.

Xét một đối tượng Java sau: public class User {

private String name; public getName(){

return name; }

Luận văn tốt nghiệp 0112049 - 0112322

Giả sử ta muốn hiển thị một danh sách các người dùng hiện tại. Ta định nghĩa một lớp action lấy danh sách người dùng như sau:

public class ListUsers extends ActionSupport {

private List listUsers; public String execute() {

listUsers = UserManager.getAllUser(); return SUCCESS;

}

public List getListUsers(); {

return listUsers; } (adsbygoogle = window.adsbygoogle || []).push({});

}

Nội dung cấu hình action trong tập tin xwork.xml như sau: <action name=“getlist” class=“getlistAction”>

<result name=“success” type=“velocity”>user.htm</result> <result name=“error” type=“velocity”>error.htm</result> </action>

Trên trang user.htm hiển thị danh sách người dùng như sau: #foreach ($user in $listUsers)

<tr>$user.name</tr> #end

Trong ví dụ trên, khi action getlist được gọi, nó sẽ lấy ra danh sách các người dùng và trả về trang user.htm. Trên trang user.htm, biến $listUsers tham chiếu trực tiếp đến thuộc tính listUsers trong lớp GetList và thông qua phương thức getListUsers của lớp này, velocity sẽ lấy được danh sách người dùng và trong biến $listUsers. Sau đó, vòng lặp #foreach…#end duyệt từng đối tượng user trong danh sách và thực hiện lấy giá trị name của từng đối tượng. Biến $user.name có nghĩa là

Luận văn tốt nghiệp 0112049 - 0112322

velocity tự động thực hiện gọi phương getName() hoặc getname() để lấy giá trị

Luận văn tốt nghiệp 0112049 - 0112322

CHƯƠNG 5: CÀI ĐẶT VÀ TH NGHIM

Một phần của tài liệu Cổng báo cáo tổng hợp trực tuyến phục vụ HTTT chỉ đạo ngành y tế cộng đồng (Trang 103 - 107)