學習Java-事件竊聽器
在編寫JSF應用時,集成應用邏輯其實是對那些產生監(jiān)聽器能懂得的事件的組件分配適當?shù)谋O(jiān)聽器。而不必考慮請求和響應。JSF支持用類似于面向接口的方式開發(fā)事件監(jiān)聽器,以及將任意方法注冊為事件監(jiān)聽器的能力(只要它具有正確的方法簽名)。
共有4種標準事件:值改變事件、動作事件、數(shù)據(jù)模型事件以及階段事件。值改變事件是在用戶修改組件的值后,由輸入控件觸發(fā)。動作事件在用戶激活命令組件(比如按鈕)時產生。數(shù)據(jù)模型事件在數(shù)據(jù)感知組件選擇了一行要處理的數(shù)據(jù)時產生。階段事件則在JSF處理HTTP請求時產生。
這些僅僅是框架所定義的標準事件,這并沒有限制使用其他類型的事件。第三方或者你自己,都可以容易地支持不同類型的事件。
值改變事件是當用戶在輸入組件中輸入新值時產生的??梢允褂弥蹈淖兪录O(jiān)聽器來處理值。
簡單的值變事件代碼
- <%@ page language="java" pageEncoding="GB18030"%>
- <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
- <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
- <html>
- <body>
- <f:view>
- <h:form>
- <h:inputText valueChangeListener="#{myform.valueChangeProcess}" />
- <h:commandButton binding="#{myform.changeB}" rendered="false" value=" 提 交 " />
- </h:form>
- </f:view>
- </body>
- </html>
Java代碼
- package djob2008;
- import javax.faces.component.UIComponent;
- import javax.faces.component.html.HtmlInputText;
- import javax.faces.event.ValueChangeEvent;
- /**
- * @author
- * @time Jun 24, 20098:24:24 PM
- */
- public class Myform {
- public UIComponent changeB;
- public void valueChangeProcess(ValueChangeEvent event){
- HtmlInputText sender=(HtmlInputText)event.getComponent();
【編輯推薦】