您可以在 Faces JSP 頁面上使用數種類型的選項清單元件。
您可以將組合框、清單框、圓鈕和勾選框拖曳到頁面上,然後將它們動態連結到資料來源。
您可以新增下列選項清單元件。請注意,它們的「內容」視圖中全都具有類似內容。
- 組合框 (selectOneMenu):使用者從下拉清單中選擇一個項目。
- 清單框 - 單一選取 (SelectOneListbox):使用者從清單中選擇一個項目。
- 清單框 - 多重選取 (SelectManyListbox):使用者從清單中選擇多個項目。
- 圓鈕群組 (selectOneRadio):使用者從清單中選取一個圓鈕。
- 勾選框 (selectBooleanCheckbox):使用者勾選或取消勾選一個項目。
- 勾選框群組 (selectManyCheckbox):使用者從清單中勾選一或多個項目。
如果要將選項元件新增至 Faces JSP 頁面中,請執行下列動作:
- 將其中一個選項清單元件拖曳至 Faces JSP 頁面。
- 開啟選項清單元件的「內容」視圖。
- 在值欄位中,您可以連結至資料來源,
以便顯示現行值,或變更特定記錄欄位的值。
比方說,如果您要建立新員工記錄,您有一個選項清單可選擇部門或城市,
您選擇的值將會變成新員工記錄的一部分。
- 如果是勾選框或圓鈕,請在「內容」視圖的方向欄位內指定水平或垂直,或接受預設值。
如果是清單框,請以行數指定高度。
- 除了靜態選項之外,您還可以將動態選項新增至選項元件中。
動態選項會從資料來源取得它們的值。
- 按一下新增選項或新增選項集。 這時有一個項目會新增至名稱直欄中。
- 如果要編輯這個項目的名稱,請按一下名稱直欄中的名稱,
即可編輯它。
- 如果您想要將新項目連結到資料值,請在值資料格內按一下,然後按一下顯示在資料格內的按鈕。 這時會開啟「選取頁面資料物件」對話框。
- 從記錄清單中選取內容來連結到選項或選項集,並按一下確定。(請注意,必須已定義資料來源)。 在執行時期,會顯示從資料來源衍生的清單。
- 如果要移除選項,請選取該選項,並按一下移除選項。
如果要移動清單中的選項,請選取選項並按一下上移或下移。
其他詳細資料:
針對動態值,選項的清單係由一或多個 selectitem 或 selectitems 標示所產生。selectitems 標示的 value 屬性會指向包含選項的資料元素。selectitems 標示應有下列其中一種資料格式:
- javax.faces.component.SelectItem 成員物件的 java.util.Collection。SelectItem 類別會定義一個簡式儲存器,其中包含個別選項的標籤、值和說明。
- javax.faces.component.SelectItem 的陣列。
對於任何其他資料類型,這個工具會產生
value,然後將資料轉換成所要的其中一種格式。
value 的格式為
selectitems.bean.label.value.toArray,其中:
- selectitems 是識別這個轉換狀況的特殊關鍵字
- bean 可在資料模型中識別 JavaBean 之類的資料。
它可能是多層次參照,例如 aaa.bbb.ccc,可解析成任何「物件」,包括「集合」類型在內。
- label 是由 bean 所識別的物件內容。這個內容的值就是顯示為選項的值。
- value 是 bean 的另一個內容,隨已選取的選項而設定。
依預設,這與 label 相同。
- toArray 是終止特殊參照字串的關鍵字。
當您從「頁面資料」視圖連結時,選取個別的欄位一定會建立
value,它對標籤和值都使用相同欄位。如果要對 UI 標籤和傳遞的值使用不同的字串,請根據上述型樣,以手動方式修改
value。以下是
selectitems 標示的
valueRef 屬性範例:
- myBean.choices 會從名稱為 myBean 的 Bean,連結 SelectItem[] 內容 choices。
- selectitems.EMPLOYEES.NAME.NAME.toArray 會從名稱為 EMPLOYEES 的「資料清單」,連結「字串」內容
NAME
- selectitems.anotherBean.choices.choices.toArray 會從名稱為 anotherBean 的 JavaBean,連結名稱為 choices 的「字串」陣列。
- selectitems.EMPLOYEE.NAME.EMPID.toArray 會使用選定值的員工 ID,從名稱為 EMPLOYEES 的「記錄清單」中,以手動方式連結員工姓名。
如果要檢視關於 Faces Web 應用程式的一些限制,包括對 Internet Explorer 中的圓鈕和勾選框等欄位焦點的限制,請參閱
限制:Faces JSP 應用程式。