命令類標籤


命令類標籤包括commandButton與commandLink,其主要作用在於提供一個命令按鈕或連結,以下舉例說明:

  • commandButton
顯示一個命令按鈕,即輸出<input> HTML標籤,其type屬性可以設定為button、submit或reset,預設是submit,按下按鈕會觸發 javax.faces.event.ActionEvent,使用例子如下:
 <h:commandButton value="送出" action="#{user.verify}"/>
 

您可以設定image屬性,指定圖片的URL,設定了image屬性的話,<input>標籤的type屬性會被設定為image,例如:
 <h:commandButton value="#{msgs.commandText}"
                  image="images/logowiki.jpg"
                  action="#{user.verify}"/>  
 
  • commandLink
產生超連結,會輸出<a> HTML標籤,而href屬性會有'#',而onclick屬性會含有一段JavaScript程式,這個JavaScript的目的是按下連結後自動提 交表單,具體來說其作用就像按鈕,但外觀卻是超連結,包括在本體部份的內容都會成為超連結的一部份,一個使用的例子如下:
 <h:commandLink value="#{msgs.commandText}"
                action="#{user.verify}"/>
 

產生的HTML輸出範例如下:
<a href="#" onclick="document.forms['_id3']['_id3:_idcl'].value='_id3:_id13'; document.forms['_id3'].submit(); return false;">Submit</a>

如果搭配<f:param>來使用,則所設定的參數會被當作請求參數一併送出,例如:
 <h:commandLink>
   <h:outputText value="welcome"/>
   <f:param name="locale" value="zh_TW"/>
 </h:commandLink>