JSF - h:selectOneMenu



h:selectOneMenu 標籤渲染一個型別為“select”的 HTML 輸入元素,大小未指定。

JSF 標籤

<h:selectOneMenu value = "#{userData.data}"> 
   <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
   <f:selectItem itemValue = "2" itemLabel = "Item 2" /> 
</h:selectOneMenu> 			

渲染輸出

<select name = "j_idt6:j_idt8">  
   <option value = "1">Item 1</option> 
   <option value = "2">Item 2</option> 
</select> 

標籤屬性

序號 屬性 & 描述
1

id

元件的識別符號

2

binding

對可以在支援Bean中使用的元件的引用

3

rendered

布林值;false 抑制渲染

4

styleClass

級聯樣式表 (CSS) 類名

5

value

元件的值,通常是值繫結

6

valueChangeListener

對響應值更改的方法的繫結

7

converter

轉換器類名

8

validator

建立並附加到元件的驗證器的類名

9

required

布林值;如果為 true,則要求在關聯欄位中輸入值

10

accesskey

一個鍵,通常與系統定義的元鍵組合使用,用於將焦點賦予元素

11

accept

表單的內容型別的逗號分隔列表

12

accept-charset

表單的字元編碼的逗號或空格分隔列表。accept-charset 屬性使用名為 acceptcharset 的 JSF HTML 屬性指定。

13

alt

非文字元素(例如影像或小程式)的替代文字

14

charset

連結資源的字元編碼

15

coords

形狀為矩形、圓形或多邊形的元素的座標

16

dir

文字的方向。有效值為 ltr(從左到右)和 rtl(從右到左)

17

disabled

輸入元素或按鈕的停用狀態

18

hreflang

使用 href 屬性指定的資源的基礎語言;hreflang 只能與 href 一起使用。

19

lang

元素的屬性和文字的基礎語言

20

maxlength

文字欄位的最大字元數

21

readonly

輸入欄位的只讀狀態;文字可以在只讀欄位中選擇,但不能編輯

22

rel

當前文件與使用 href 屬性指定的連結之間的關係

23

rev

從使用 href 指定的錨點到當前文件的反向連結。屬性的值是連結型別的空格分隔列表

24

rows

文字區域中可見行的數量。h:dataTable 有一個 rows 屬性,但它不是 HTML 直通屬性。

25

shape

區域的形狀。有效值:default, rect, circle, poly。(default 表示整個區域)

26

style

內聯樣式資訊

27

tabindex

指定標籤索引的數值

28

target

開啟文件的框架的名稱

29

title

用於輔助功能的標題,用於描述元素。視覺化瀏覽器通常會為 title 的值建立工具提示

30

type

連結的型別;例如,stylesheet

31

width

元素的寬度

32

onblur

元素失去焦點

33

onchange

元素的值更改

34

onclick

滑鼠按鈕在元素上單擊

35

ondblclick

滑鼠按鈕在元素上雙擊

36

onfocus

元素獲得焦點

37

onkeydown

按下鍵

38

onkeypress

按下鍵並隨後釋放

39

onkeyup

釋放鍵

40

onmousedown

滑鼠按鈕在元素上按下

41

onmousemove

滑鼠在元素上移動

42

onmouseout

滑鼠離開元素區域

43

onmouseover

滑鼠移到元素上

44

onmouseup

釋放滑鼠按鈕

45

onreset

表單重置

46

onselect

在輸入欄位中選擇文字

示例應用程式

讓我們建立一個測試 JSF 應用程式來測試上述標籤。

步驟 描述
1 根據JSF - 第一個應用程式章節的說明,建立一個名為helloworld的專案,放在com.tutorialspoint.test包下。
2 修改home.xhtml,如下所示。保持其餘檔案不變。
3 在 webapps 目錄中建立result.xhtml,如下所示。
4 根據以下說明,在com.tutorialspoint.test包下建立一個名為UserData.java的託管Bean。
5 編譯並執行應用程式,以確保業務邏輯按要求工作。
6 最後,將應用程式構建成 war 檔案,並將其部署到 Apache Tomcat Web 伺服器。
7 使用如下最後一步中說明的適當 URL 啟動您的 Web 應用程式。

UserData.java

package com.tutorialspoint.test;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name = "userData", eager = true)
@SessionScoped
public class UserData implements Serializable {
   private static final long serialVersionUID = 1L;
   public String data = "1";

   public String getData() {
      return data;
   }

   public void setData(String data) {
      this.data = data;
   }
}

home.xhtml

<?xml version = "1.0" encoding = "UTF-8"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns = "http://www.w3.org/1999/xhtml" 
   xmlns:f = "http://java.sun.com/jsf/core"     
   xmlns:h = "http://java.sun.com/jsf/html"> 
   
   <head> 
      <title>JSF Tutorial!</title> 
   </head> 
   
   <h:body> 
      <h2>h::selectOneMenu example</h2> 
      <hr /> 
      
      <h:form> 
         <h3>Combo Box</h3>  
         <h:selectOneMenu value = "#{userData.data}"> 
            <f:selectItem itemValue = "1" itemLabel = "Item 1" /> 
            <f:selectItem itemValue = "2" itemLabel = "Item 2" /> 
            <f:selectItem itemValue = "3" itemLabel = "Item 3" /> 
            <f:selectItem itemValue = "4" itemLabel = "Item 4" /> 
            <f:selectItem itemValue = "5" itemLabel = "Item 5" />     
         </h:selectOneMenu>  
         <h:commandButton value = "Submit" action = "result" /> 
      </h:form>    
   
   </h:body> 
</html> 

result.xhtml

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns = "http://www.w3.org/1999/xhtml"
   xmlns:f = "http://java.sun.com/jsf/core"    
   xmlns:h = "http://java.sun.com/jsf/html"
   xmlns:ui = "http://java.sun.com/jsf/facelets">
   
   <head>
      <title>JSF Tutorial!</title>
   </head>
   
   <h:body>
      <h2>Result</h2>
      <hr />
      #{userData.data}
   </h:body>
</html>  

完成所有更改後,讓我們像在 JSF - 第一個應用程式章節中所做的那樣編譯並執行應用程式。如果您的應用程式一切正常,這將產生以下結果。

JSF h:selectOneMenu

選擇任何選項並按下提交按鈕。我們選擇了專案 4。您將看到所選結果。

JSF h:selectOneMenu1
jsf_basic_tags.htm
廣告
© . All rights reserved.