1. 程式人生 > >Struts2標籤之set

Struts2標籤之set

   Struts2標籤可以分為UI標籤,非UI標籤和ajax標籤。1.UI標籤:主要用於顯示頁面,生成HTML。2.非UI標籤:主要是訪問資料,其中它可以分為資料標籤(資料儲存和處理)和控制標籤(條件和迴圈等流程的控制)。3.ajax標籤:主要支援ajax技術。

   下面我想說的一種標籤是非UI標籤中的資料標籤-- set。set標籤的屬性name(已經過時),id(已過時),var用來定義變數名,value用來賦值新變數的值,如果沒有指定value的值,則將valueStack棧頂的值賦給新的變數,value屬性的型別為Object。所以value值為字串的時候要特別注意加單引號,即(value="   ' lkk'   "),其中lkk就是字串。最後一個為scope屬性,預設值為action,可選值為page,session,request,application和action,型別為String,用來指定範圍。如果scope取值為預設值action,value屬性的值將同時儲存到request和Stack Context中。其實總結一點就是用scope定義一個範圍,然後到相應的範圍中去取值,如果沒有定義範圍,就到request和Stack Context中去取值。

下面我自己學習時的案例。

      set 設定adminName的值(預設設定在request和Stack Context中):<s:set name="adminName" value="username"/>
      set 從request中取值:<s:property value="#request.adminName"/>
      set 從Stack Context中取值:<s:property value="#adminName"/>
      
      set 設定範圍<s:set var="adminPassword" value="password" scope="page"/>
      set 從相應範圍內取值:<%=pageContext.getAttribute("adminPassword") %>