W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
我們可以處理用戶點(diǎn)擊事件為h:commandButton或h:link。
要注冊(cè)事件處理程序,我們可以傳遞UI Component的actionListener屬性中的托管bean方法的名稱。
或者我們可以選擇實(shí)現(xiàn)ActionListener接口,并將實(shí)現(xiàn)類名稱傳遞給UI Component的actionListener屬性。
以下代碼顯示了如何從h:commandButton向actionListener屬性添加用戶定義的方法。
public void updateData(ActionEvent e){ data="Hello World"; }
使用上面的方法
<h:commandButton id="submitButton" value="Submit" action="#{userData.showResult}" actionListener="#{userData.updateData}" /> </h:commandButton>
以下代碼顯示了如何實(shí)現(xiàn)ActionListener和使用f:actionListener標(biāo)簽。
public class UserActionListener implements ActionListener{ @Override public void processAction(ActionEvent arg0) throws AbortProcessingException { //access userData bean directly UserData userData = (UserData) FacesContext.getCurrentInstance(). getExternalContext().getSessionMap().get("userData"); userData.setData("Hello World"); } }
使用偵聽器方法
<h:commandButton id="submitButton1" value="Submit" action="#{userData.showResult}" > <f:actionListener type="com.tutorialspoint.test.UserActionListener" /> </h:commandButton>
以下代碼來自ActionListener.java。
package cn.w3cschool.common; import javax.faces.event.AbortProcessingException; import javax.faces.event.ActionEvent; import javax.faces.event.ActionListener; public class MyActionListener implements ActionListener{ @Override public void processAction(ActionEvent event) throws AbortProcessingException { System.out.println("Any use case here?"); } }
以下代碼來自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:h="http://java.sun.com/jsf/html" > <h:body> #{normal.buttonId} </h:body> </html>
以下代碼來自demo.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:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets" > <h:body> <h:form id="form"> <ui:remove> <h:commandButton id="submitButton" value="Submit" action="#{normal.outcome}" actionListener="#{normal.printIt}" /> </ui:remove> <h:commandButton id="submitButton" value="Submit" action="#{normal.outcome}" > <f:actionListener type="cn.w3cschool.common.MyActionListener" /> </h:commandButton> </h:form> </h:body> </html>
下面的代碼來自UserBean.java。
package cn.w3cschool.common; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; import javax.faces.event.ActionEvent; @ManagedBean(name="normal") @SessionScoped public class UserBean implements java.io.Serializable{ public String buttonId="o2fo.com"; public String getButtonId() { return buttonId; } public void setButtonId(String buttonId) { this.buttonId = buttonId; } public void printIt(ActionEvent event){ //Get submit button id buttonId = event.getComponent().getClientId(); } public String outcome(){ return "result"; } }下載 ActionListener.zip
將生成的WAR文件從目標(biāo)文件夾復(fù)制到Tomcat部署文件夾并運(yùn)行Tomcat-Install-folder/bin/startup.bat。
Tomcat完成啟動(dòng)后,在瀏覽器地址欄中鍵入以下URL。
http://localhost:8080/simple-webapp/demo.xhtml
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: