Các Data Tag trong Struts 2 chủ yếu được sử dụng để thao tác với dữ liệu được hiển thị trên một page. Dưới đây là các Data Tag quan trọng trong Struts 2.
Thẻ action trong Struts 2
Thẻ này cho phép lập trình viên gọi các action một cách trực tiếp từ một JSP page bằng việc xác định tên action và một namespace tùy ý. Phần thân thẻ được sử dụng để truyền các result từ Action. Bất kỳ result processor nào được định nghĩa cho action này trong struts.xml sẽ bị bỏ qua, trừ khi tham số executeResult được xác định.
<div>Tag de thuc thi action</div> <br /> <s:action name="actionTagAction" executeResult="true" /> <br /> <div>De trieu hoi phuong thuc dac biet trong lop Action</div> <br /> <s:action name="actionTagAction!specialMethod" executeResult="true" />
Thẻ include trong Struts 2
Thẻ include được sử dụng để bao một JSP page trong JSP page khác.
<-- Cu phap dau tien --> <s:include value="myJsp.jsp" /> <-- Cu phap thu hai --> <s:include value="myJsp.jsp"> <s:param name="param1" value="value2" /> <s:param name="param2" value="value2" /> </s:include> <-- Cu phap thu ba --> <s:include value="myJsp.jsp"> <s:param name="param1">value1</s:param> <s:param name="param2">value2</s:param> </s:include>
Thẻ bean trong Struts 2
Thẻ bean khởi tạo một lớp mà thích hợp với JavaBeans. Thẻ này có một phần thân mà chứa một số phần tử Param để thiết lập bất cứ phương thức mutator (phương thức biến đổi) trên lớp đó. Nếu thuộc tính var được thiết lập trên thẻ bean, nó sẽ đặt bean đã được khởi tạo vào trong Context của Stack.
<s:bean name="org.apache.struts2.util.Counter" var="counter"> <s:param name="first" value="20"/> <s:param name="last" value="25" /> </s:bean>
Thẻ date trong Struts 2
Thẻ date cho phép bạn định dạng một Date theo một cách nhanh chóng và dễ dàng. Bạn có thể xác định một định dạng tùy biến (custom format) như "dd/MM/yyyy hh:mm", hoặc bạn có thể tạo các ký hiệu dễ dàng để đọc như "in 2 hours, 14 minutes", hoặc bạn có thể sử dụng một định dạng đã được định nghĩa trước với key 'struts.date.format' trong các properties file của bạn.
<s:date name="person.birthday" format="dd/MM/yyyy" />
<s:date name="person.birthday" format="%{getText('some.i18n.key')}" />
<s:date name="person.birthday" nice="true" />
<s:date name="person.birthday" />
Thẻ param trong Struts 2
Thẻ param có thể được sử dụng để tham số hóa các thẻ khác. Thẻ này có hai tham số sau:
- Name (Dạng chuỗi) là tên của tham số.
- Value (dạng đối tượng) là giá trị của tham số.
<ui:component> <ui:param name="key" value="[0]"/> <ui:param name="value" value="[1]"/> <ui:param name="context" value="[2]"/> </ui:component>
Thẻ property trong Struts 2
Thẻ property được sử dụng để lấy thuộc tính của một giá trị, mà mặc định sẽ là ở trên cùng của Stack nếu không có cái gì được xác định.
<s:push value="myBean"> <!-- Vi du 1: --> <s:property value="myBeanProperty" /> <!-- Vi du 2: -->TextUtils <s:property value="myBeanProperty" default="a default value" /> </s:push>
Thẻ push trong Struts 2
Thẻ push được sử dụng để đẩy giá trị vào stack để đơn giản hóa việc tham chiếu giá trị.
<s:push value="user"> <s:propery value="firstName" /> <s:propery value="lastName" /> </s:push>
Thẻ set trong Struts 2
Thẻ set gán một giá trị tới một biến trong một phạm vi cụ thể. Nó là hữu ích khi bạn muốn gán một biến cho một biểu thức phức tạp và sau đó tham chiếu biến đó mỗi khi thay vì tham chiếu biểu thức. Các phạm vi có sẵn là application, session, request, page và action.
<s:set name="myenv" value="environment.name"/> <s:property value="myenv"/>
Thẻ text trong Struts 2
Thẻ text được sử dụng để truyền một thông điệp i18n text.
<!-- Vi du dau tien --> <s:i18n name="struts.action.test.i18n.Shop"> <s:text name="main.title"/> </s:i18n> <!-- Vi du thu hai --> <s:text name="main.title" /> <!-- Vi du thu ba --> <s:text name="i18n.label.greetings"> <s:param >Mr Smith</s:param> </s:text>
Thẻ url trong Struts 2
Thẻ url này được sử dụng để tạo một URL.
<-- Vi du 1 --> <s:url value="editGadget.action"> <s:param name="id" value="%{selected}" /> </s:url> <-- Vi du 2 --> <s:url action="editGadget"> <s:param name="id" value="%{selected}" /> </s:url> <-- Vi du 3--> <s:url includeParams="get"> <s:param name="id" value="%{'22'}" /> </s:url>