⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counteractionlistener.java

📁 该代码是《JSP应用与开发实例》一书的配套光盘
💻 JAVA
字号:
package com.jspdev.ch18;

import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;
import javax.faces.event.PhaseId;
import javax.faces.tree.Tree;
import java.util.Iterator;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;

public class CounterActionListener implements ActionListener {

    public PhaseId getPhaseId() {
        debugOut("调用了:getPhaseId");
        return PhaseId.APPLY_REQUEST_VALUES;
    }
  
    /**
     *处理动作
     */
    public void processAction(ActionEvent event) {
        debugOut("调用了: processAction ");

        // 激发动作事件的组件
        UIComponent component = event.getComponent();
        debugOut
	("激发动作事件的组件id: " + component.getComponentId());

        // 动作命令
        String actionCommand =  event.getActionCommand();
        debugOut
	("动作命令: " + actionCommand);
  
        FacesContext facesContext = 
	 FacesContext.getCurrentInstance();
        Tree tree = facesContext.getTree();
        UIComponent root = tree.getRoot();

        debugOut
	("----------- 组件树  -------------");
        navigateComponentTree(root, 0);
        debugOut
	("----------------------------------------");
    }
    /**
     *遍历组件树
     */
    private void navigateComponentTree
    (UIComponent component, int l) {
        Iterator children = component.getChildren();

        // indent
        for (int i=0; i<l; i++)
            System.out.print("  ");

        // 打印组件的ID
        debugOut(component.getComponentId());

        // 遍历组件的Child。
        while (children.hasNext()) {
            UIComponent child = 
	    (UIComponent) children.next();
            navigateComponentTree(child, l + 1);
        }
    }
    private void debugOut(String msg)
    {
    	System.out.println("from CounterActionListener:"+msg);
    }
}
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -