天天看點

JavaWeb----學習(26)----struts2---通用标簽

注:struts2自動将Action放入到值棧中

       放入的時間點:struts2最終會調用Action類的action方法,但是,在此之前:

                                 --->會先建立一個StrutsActionProxy對象

                                 --->在建立StrutsActionProxy對象後,會對其驚進行初始化,初始化時,把action放入了值棧

1. property 标簽:<s:property> 标簽用來輸出一個值棧屬性的值:

                              1.1 對于對象棧而言:列印值棧中對象的屬性值。

JavaWeb----學習(26)----struts2---通用标簽
<s:property value="productId" />
           

                          1.2 對于Map棧而言,列印request,session,application,或請求參數的某個屬性值。

<s:property value="#session.date" />
           

2.URL标簽

3.set 标簽:set 标簽用來在以下 Map 對象裡建立一個鍵值對:

                  –ValueStack 值棧的 ContextMap 值棧

                  –Map 類型的 session 對象

                  –Map 類型的 application 對象

                  –Map 類型的 request 對象

                 –Map 類型的 page 對象

<!-- s:set标簽會自動進行OGNL解析(在值棧中查找productId所代表品的值),然後在指定的scope添加一個鍵值對 -->
<s:set name="productId"  value="productId"  scope="session"></s:set>
 roductId:${sessionScope.productId }    
           

4.push 标簽 :push 标簽将把一個對象壓入 ValueStack 而不是壓入 ContextMap. •push 标簽在标簽起始時把一個對象壓入棧, 标簽結束時

                      将對象彈出棧.

<%
    Person person = new Person();
	
    person.setAge(12);
	
    session.setAttribute("person", person);
%>
<s:push value="#session.person">
	${name} 
</s:push>
           

5.if, else 和 elseif 标簽

<!-- 可以直接使用值棧中的屬性,自動進行OGNL解析 -->
<s:if test="productId >100">産品id大于100</s:if>
<s:elseif test="productId <10">産品id大于100</s:elseif>
<s:else>産品</s:else>
           

6.iterator 标簽:标簽用來周遊一個數組, Collection 或一個 Map,并把這個可周遊對象裡的每一個元素依次壓入和彈出ValueStack 棧

<%
	List<Person> persons=  new ArrayList<Person>();
        persons.add(new Person("aa",10));
	persons.add(new Person("bb",20));
	persons.add(new Person("cc",30));
	persons.add(new Person("dd",40));
	persons.add(new Person("ee",50));
	request.setAttribute("persons", persons);
 %>
	 
<s:iterator value="#request.persons">
	 ${name} ---- ${age}<br>
 </s:iterator>
           

7.sort 标簽  sort 标簽用來對一個可周遊對象裡的元素進行排序

8.date 标簽  date 标簽用來對 Date 對象進行排版

9.`a 标簽   a 标簽将呈現為一個 HTML 連接配接. 這個标簽可以接受 HTML 語言中的 a 元素所能接受的所有屬性.