Struts2基礎知識總結
來源:互聯網
上載者:User
1.值棧(Value Stack)可以理解為存放資料的一塊記憶體空間,存放了Action的屬性,OGNL可以直接存取;
2.Stack Context也可以理解為存放資料的一塊記憶體空間,存放了request相關屬性以及參數,OGNL可以通過#訪問Stack Context的值;
3.值棧(Value Stack)發揮作用的範圍和request發揮作用的範圍是一致的;
4.struts2資料標籤:
<s:property value="" default="如果前邊value值為空白時,要輸出的預設值" escapeHtml="true"/>//escapeHtml表示是否轉譯HTML,預設值為true,該標籤表示輸出指定的值;
<s:dubug/>
<s:date name="被格式化的值" format="用於指定日期顯示的格式">//格式化輸出一個日期資料
<s:set var="變數名" value="變數值" scope="變數生存周期">//指定變數,並未變數賦值,var會放在StackContext中(還有<s:iterator var="">中的var值也會放在StackValue中,需要#來訪問),用的時候需要"#變數名";
5.Struts2控制標籤
<s:if>、<s:elseif>、<s:else>表示分支判斷,test表示是否符合條件,
<s:iterator>用來處理迴圈,可以用來遍曆數組、Set和List等集合對象
value:用來指明迴圈誰,var:指明變數名稱,status:用來返回當前迴圈的各種資訊(even偶數索引,odd奇數索引)
6.在Struts2中通常是用FreeMarker編寫的檔案(.ftl),FreeMarket使用Java語言編寫的模板引擎;
7.struts.xml設定檔中設定主題常量:
<constant name="struts.ui.theme" value="simple"/>;
8.可以這樣寫:private Map<District,List<Street>> map;
9.級聯下拉框:
普通:<s:select name="標籤名字,隨便起,和誰都沒有關係" list="代表我顯示那個集合的資料" listKey="代表提交資料後,接受頁面要接受的值" listType="代表使用者看到的下拉框李顯示的文字">
Map<District List<Street>> map;
級聯:<s:select name="隨便起" list="map.keySet()" listKey="districtId" listType="districtName"/>
<s:doubleselect name="隨便起" doubleList="map.get(top)" doubleListKey="streetId" doubleListValue="streetName"/>