OGNL表達式----UI標簽:
1.表單標簽:
<s:form action="XX" method="post">
屬性:Action/Method/namespace
javascript:void(null)
2.單行文本標簽:--textfield
輸出的HTML單行文本輸入控件,等價于HTML的代碼<input type="text">
常用的屬性:
(1)maxlength:文本可輸入的字符最大長度
(2)readOnly:當該屬性的值為true時,用戶不能在文本控件中輸入文本
(3)size:指定文本輸入控件的可視尺寸
(4)id
(5)name
(6)label
3.文本域輸入框:---textarea
屬性:
(1)name
(2)label
(3)cols
(4)readonly
(5)wrap
(6)id
4.下拉列表----select
屬性:
(1)id
(2)name
(3)label
(4)list:要迭代的集合,使用集合中的元素來設置各個選項,如果list的屬性為Map的話,則Map的key成為選項的value,Map的value會成為選項的內容
(5)listkey:指定集合對象中的哪個屬性作為選項的value
和listValue:利用Action中的實例屬性(property)設置選項的值和選項的內容
(6)headerKey:設置當用戶選擇了header選項時,提交的value,如果使用該屬性,不能為該屬性設置空值
(7)headerValue:顯示在頁面中header選項的內容
(8)emptyOption:在header選項后面添加一個空的選項
(9)multiple:是設置多選
(10)size:設置下拉框可顯示的選項個數(shù)
用法
(1)list屬性為集合
<s:select label="最高學歷" name="education" list="{'高中','博士','大學'}"
(2)list為map
<s:select label="最高學歷" name="education" list="#{1:'高中',2:'大學',3:"博士"}">
5.password:輸出一個密碼框。
常用屬性:
(1):maxLength:口令輸入控件可以輸入字符的最大長度
(2)readonly:當該屬性的值為true時, 用戶不能在口令控件中輸入文本
(3)size:可輸入的可視尺寸
(4)showPassword:是否顯示密碼,當為true時,密碼被顯示。除非特殊需求,否則不要將該屬性設為true
6.radio:輸出一個單選框。
用來生成一系列的單選框,用戶只能選擇其中的一個。Struts2的radio標簽對應于HTML的<input type="radio"/>。
除了上面列出的各種常見通用屬性,radio標簽還有幾個其它的屬性:
~list:用于生成單選框的集合,必須配置。
~listKey:生成的radio的value屬性。
~listValue:生成的radio后面顯示的文字。
這三個屬性一定要配合使用,由list屬性指定從哪個集合中獲得元素,由listKey屬性指定獲得元素之后使用元素的哪個屬性作為生成的<input type="radio"/>的value屬性,由listValue屬性指定生成的<input type="radio"/>后的給用戶看的文字。
7.checkbox:
用來輸出一個HTML復選框,等價于HTML代碼:<input type="checkbox"/>。
8.checkboxlist:輸出一個復選框列表。
復選框組用來生成一系列復選框,用戶可以選擇其中的零到多個,Struts2的checkboxlist標簽用來生成一組<input type="check"/>。
這個標簽和上面介紹的radio標簽的屬性極其類似,除上面列出常見通用屬性,其主要屬性有:
~list:用于生成復選框的集合。
~listKey:生成的checkbox的value屬性。
~listValue:生成的checkbox后面顯示的文字。
這三個屬性的用法與radio標簽的那三個屬性相同。
9.doubleselect標簽:
doubleselect標簽是select標簽的擴展,當有大量的選項要給用戶做選擇時,可以使用這個標簽。例如需要用戶先選擇國家,再選擇省份,再選擇市等等更多選擇時,可以使用doubleselect這個標簽。其中和select不同的地方,doubleselect標簽的第一個下拉框是一個分組的列表可以通過list屬性來指定。通過使用JavaScript等方法,第二個下拉框會隨著第一個下拉框的選擇不同而不同。
10.(13).optiontransferselect標簽:
用來生成兩個下拉框,這兩個下拉框左右放置,有按鈕可以控制,將選項在兩個下拉框之間轉移,在每個下拉框下還有按鈕,可以像updownselect標簽那樣控制選項上下移動。
optiontransferselect標簽的主要屬性可以分為4組:
~~控制左下拉框名字以及數(shù)據(jù)來源:
name:左下拉框的name屬性。
list:用于生成左下拉框的集合。
listKey:生成左下拉框的選項的value屬性。
listValue:生成左下拉框的選項顯示的文字。
headerKey:在左下拉框所有的選項前再額外加一個選項作為其標題,headerKy設置的是標題的value屬性。
headerValue:在左下拉框所有的選項前再額外加一個選項作為其標題,headerValue設置得是標題的顯示文字。
11.combobox:輸出一個部件,可以從下拉框的內容填充一個文本框。
Struts2的combobox標簽用于生成一個文本框和一個下拉框,下拉框出現(xiàn)在文本框的下面,在最終提交的時候只提交文本框的輸入值,下拉框用于在其選項改變時,也就是onchange事件被觸發(fā)時,把自身的被選中項的值賦到文本框上。
combobox的屬性分別來自文本框和下拉框:
~來自文本框的屬性:
maxlength:單行文本框中所能容納的最大文本長度。
size:單行文本框自身的長度。
readonly:單行文本框是否只讀。
~來自下拉框的屬性:
list:用于生成下拉框的集合。
listKey:生成的選項的value屬性。
listValue:生成的選項顯示的文字。
12.optiontransferselect:
輸出一個選項移動下拉組件,主要是兩個下拉框和用來在兩個下拉框之間移動選項的按鈕。
13.updownselect:
輸出一個下拉框控件,帶有上下按鈕來移動下拉框組件元素。
用來生成一個可以自由上下移動選項的下拉框。生成選項的用法和Struts2的select標簽一樣,都是由list、listKey、listValue三個屬性來設置。
這里只需要了解關于上下操作的幾個屬性:
~allowMoveUp:是否顯示“上移”按鈕,默認為顯示。
~allowMoveDown:是否顯示“下移”按鈕,默認為顯示。
~allowSelectAll:是否顯示“全選”按鈕,默認為顯示。
~moveUpLabel:上移按鈕顯示的文本。
~moveDownLabel:下移按鈕顯示的文本。
~selectAllLabel:全選按鈕顯示的文本。
14.textarea:輸出一個多行文本框。
15.hidden:輸出一個hidden表單字段。
16.file:輸出一個文件選擇框。
17.label:輸出一個label。
18.submit:輸出一個submit(提交)表單按鈕。
常用屬性:
(1)type:要使用的提交按鈕的類型,有效值為:input、button、image
(2)src:為image類型的提交按鈕設置圖片地址,該屬性對input和button類型的提交按鈕無效
(3)action:指定處理提交請求的action
(4)method:指定處理提交請求的action的方法
19.token:輸出一個隱藏的字段來防止多次提交表單。
20.head:輸出對應theme的head部分的內容,比如Css和JavaScript的引用。
21.datepicker:輸出一個日期選擇部件,使用JavaScript和DOM。
22.reset:輸出一個reset(重置)表單按鈕。
23.richtexteditor:輸出一個富文本編輯器。
24.optgroup標簽:作為select的子標簽,用來生成一組選項。一個下拉列表框中可以包含多個選項組,可以在一個<s:select>標簽中使用多個<s:optgroup>標簽。
optgroup標簽的主要屬性有:
~list:用于生成下拉框選項的集合。
~listKey:生成的選項的value屬性。
~listValue:生成的選項顯示的文字。
~label:用于生成選項組的文本。