
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO SEMINAR STRUTS 2
Bộ môn Chuyên Đề Java
Giáo Viên Hướng Dẫn
Thầy : Ngô Bá Nam Phương
Nhóm Thực Hiện
MSSV Họ Tên
0512007 Lê Văn Bình
0512337 Trương Trung Thế
0512386 Lê Cung Tưởng

Trường Đại Học Khoa Học Tự Nhiên
Khoa Công Nghệ Thông Tin
Struts2 Page2
Mục lục
I. Giới thiệu mô hình MVC ...................................................................................................................... 5
1. Lợi ích của việc sử dụng mô hình MVC ........................................................................................... 6
II. Giới thiệu về Struts 2 ............................................................................................................................ 6
1. Giới thiệu struts 2 .............................................................................................................................. 6
2. Ích lợi của Struts 2 Framework ......................................................................................................... 6
III. Kiến trúc và hoạt động của Struts 2 ...................................................................................................... 8
1. Kiến trúc của Struts 2 framework ..................................................................................................... 8
2. Quá trình xử lý request trong Struts2 framework ............................................................................. 9
IV. Cấu hình Struts 2 trên Netbeans .......................................................................................................... 10
1. Cấu hình struts 2 project ................................................................................................................. 10
2. Khai báo Struts 2 ............................................................................................................................. 12
a. Khai báo dùng xml ...................................................................................................................... 13
b. Khai báo dùng Annotation .......................................................................................................... 15
V. Actions và Results ............................................................................................................................... 16
1. Actions ............................................................................................................................................ 16
2. Results ............................................................................................................................................. 16
Các loại results struts hỗ trợ sẵn ......................................................................................................... 16
a. Depatcher Result ......................................................................................................................... 17
b. Redirect Action Result ................................................................................................................ 17
c. Chain Result ................................................................................................................................ 18
d. Redirect Result ............................................................................................................................ 18
e. FreeMaker Result ........................................................................................................................ 18

Trường Đại Học Khoa Học Tự Nhiên
Khoa Công Nghệ Thông Tin
Struts2 Page3
f. Velocity Result ............................................................................................................................ 19
g. Plain Text Result ......................................................................................................................... 19
h. Tiles Result ................................................................................................................................. 19
i. HttpHeader Result ....................................................................................................................... 20
j. Stream Result .............................................................................................................................. 20
k. XSL Result .................................................................................................................................. 21
l. Global Result .............................................................................................................................. 21
m. Custom Result: ........................................................................................................................ 21
VI. Giới Thiệu Interceptors ....................................................................................................................... 22
1. Danh sách các Interceptor dựng sẵn ................................................................................................ 22
2. Custom một Interceptor .................................................................................................................. 24
VII. Các Tags trong struts 2 ....................................................................................................................... 25
1. FORM TAGS .................................................................................................................................. 26
a. Using Struts Tags ........................................................................................................................ 26
b. Common Attributes ..................................................................................................................... 26
c. The Form Tag ............................................................................................................................. 27
d. The textfield, password, hidden Tags ......................................................................................... 27
e. The submit Tag ........................................................................................................................... 28
f. The reset Tag ............................................................................................................................... 28
a. The label Tag .............................................................................................................................. 28
b. The head tag ................................................................................................................................ 29
c. The texterea tag .......................................................................................................................... 29
d. The checkbox Tag ....................................................................................................................... 29
e. The list, listKey, and listValue attributes .................................................................................... 29

Trường Đại Học Khoa Học Tự Nhiên
Khoa Công Nghệ Thông Tin
Struts2 Page4
f. The radio Tag .............................................................................................................................. 29
g. The select Tag ............................................................................................................................. 30
h. Select Option Grouping with optgroup ....................................................................................... 30
i. Select Option Grouping with optgroup ....................................................................................... 30
j. The combobox Tag ..................................................................................................................... 31
k. The updownselect Tag ................................................................................................................ 31
2. GENERIC TAGS ............................................................................................................................ 32
a. The property Tag ......................................................................................................................... 32
b. The a Tag .................................................................................................................................... 32
c. The action Tag ............................................................................................................................ 32
d. The param Tag ............................................................................................................................ 33
e. The bean Tag ............................................................................................................................... 33
f. The date Tag ............................................................................................................................... 34
g. The include Tag .......................................................................................................................... 34
h. The set Tag .................................................................................................................................. 34
i. The push Tag ............................................................................................................................... 35
j. The url Tag .................................................................................................................................. 35
k. The if, else, and elseIf Tags ........................................................................................................ 36
l. The iterator Tag ........................................................................................................................... 36
m. The append Tag ....................................................................................................................... 37
n. The merge Tag ............................................................................................................................ 37
o. The generator Tag ....................................................................................................................... 37
p. The sort Tag ................................................................................................................................ 38
q. The subset Tag ............................................................................................................................ 38

Trường Đại Học Khoa Học Tự Nhiên
Khoa Công Nghệ Thông Tin
Struts2 Page5
IX. Ajax và Struts 2 ................................................................................................................................... 38
1. The Head Tag .................................................................................................................................. 38
2. The Div Tag .................................................................................................................................... 39
3. The a Tag ........................................................................................................................................ 41
4. The Submit Tag ............................................................................................................................... 42
5. The Bind Tag .................................................................................................................................. 44
6. The datetimepicker Tag .................................................................................................................. 46
7. The tabbedpanel Tag ....................................................................................................................... 47
8. The textarea Tag ............................................................................................................................. 48
9. The autocompleter Tag ................................................................................................................... 49
10. The tree and treenode Tags ......................................................................................................... 50
I. Giới thiệu mô hình MVC
- MVC viết tắt từ cụm từ Model-View-Controller
- MVC lần đầu được sử dụng vào năm 1979 trong ứng dụng Smalltalk.Nó được phát
triển bởi Trygve Reenskaug
- Ngày nay với sự phát triển của công nghệ,một ứng dụng có thể được tách thành nhiều
phần (layer) và chúng được chạy ở trên nhiều máy tính khác nhau,chẳng hạn như: tầng
giao diện (The presentation/User Interface) ,tầng nghiệp vụ (Business logic/Controller),
tầng truy xuất dữ liệu (data access model). Mô hình MVC ra đời để đáp ứng cho những
yêu cầu trên,và nó được chọn làm kiến trúc triển khai trên các ứng dụng web application.
- Trong ứng dụng web application thì:
+ Tầng View: là các trang HTML/XHTML
+ Tần Controller: đóng vai trò trung gian trong việc bắt sự kiện (event) do người dùng
tương tác trên tầng giao diện (View Layer),sau đó ứng với các sự kiện này nó sẽ đánh
thức các xử lý nghiệp vụ tương ứng ở tầng nghiệp vụ (Model Layer).Kết quả nhận được
sau khi xử lý sẽ được gửi trả lại tầng giao diện
+ Tầng Model: đóng vai trò trong việc xử lý tất cả các thao tác nghiệp vụ,từ việc truy
xuất cơ sở dữ liệu,tính toán kết quả trả về…

