`
successfulroof
  • 浏览: 74334 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

ice:selectOneMenu valueChangeListener 没效果

    博客分类:
  • J2ee
 
阅读更多

各位大侠,帮帮忙看看!我的ValueListener不起作用

<ice:form>
				<ice:panelGroup >
				<ice:selectOneMenu  id="database" partialSubmit="true" value="#{dataBaseAdmin.selectValue}"
					onfocus="this.name='database'" style="width:120px"  onchange="submit();"
					valueChangeListener="#{dataBaseAdmin.updatePage}" >
			            <f:selectItem itemLabel="请选择表名" itemValue=""/>
			            <f:selectItems value="#{dataBaseAdmin.dataBaseTables}" />
			        </ice:selectOneMenu>
				</ice:panelGroup>
				<ice:panelSeries var="columns" value="#{dataBaseAdmin.columnsName}" style="float:left;width:30px;"> 
					<ice:outputText value="#{columns}"/> 
				</ice:panelSeries> 
				<ice:outputText value="#{dataBaseAdmin.testingstring}" ></ice:outputText>
			</ice:form>

 上面是xhtml里面的 selectOneMenu 在change的时候调用DataBaseAdmin里面的updatePage Listener

 

DataBaseAdmin.java

package org.openi.web.ui.jsf.bean.admin;

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import javax.faces.context.FacesContext;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;

import org.openi.web.ui.jsf.service.search.SearchInfoDao;

public class DataBaseAdmin {
	
	SearchInfoDao sid;
	
	DatabaseMetaData  rsmt = null;
	
	List dataModel = null;
	
	String[] columnsName;
	
	String testingstring = "123";
	
	String selectValue = "";
	
	public DataBaseAdmin () {
		System.out.println("Initialized");
	}
//	public void getConnectioned() {
//		try {
//			Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
//			System.out.println("connect successful");
//		} catch (InstantiationException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (IllegalAccessException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		} catch (ClassNotFoundException e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//	}
//	
//	public void setSid(SearchInfoDao sid) {
//		this.sid = sid;
//	}
	
	public String getTestingstring() {
		return testingstring;
	}

	public String getSelectValue() {
		return selectValue;
	}

	public void setSelectValue(String selectValue) {
		this.selectValue = selectValue;
	}

	public void setTestingstring(String testingstring) {
		this.testingstring = testingstring;
	}

	public void setSid(SearchInfoDao sid) {
		this.sid = sid;
	}

	/**
	 * Comments:
	 * @author Jacky
	 * Chinese : 返回所有dim开头的table
	 * @return 
	 */
	@SuppressWarnings("unchecked")
	public SelectItem[] getDataBaseTables() {
		String sql = "select t.TABLE_NAME name,t.COMMENTS comments from MGR_TABLE_COMMENTS t where t.TABLE_NAME like '%'||'DIM'||'%'";
		List<Map<String,String>> list = sid.getCllx(sql);
		SelectItem[] select = new SelectItem[list.size()] ;
		for(int i=0;i<list.size();i++) {
		    select[i] = new SelectItem((String)(list.get(i)).get("name"),(String)(list.get(i)).get("comments"));
		    
		}
		return select;
	}
//	try {
//	rsmt = (sid.getDataSource().getConnection()).getMetaData();
//	ResultSet rs=rsmt.getTables(null, null, "DIM%", new String[]{"TABLE"});
//	while (rs.next()) {
//		System.out.println(rs.getString(3));
//	}
//	
//} catch (SQLException e) {
//	e.printStackTrace();
//}
	
//	
//	public void test() {
//		getConnectioned();
//		try {
//			ResultSet rs = null;
//			Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.9.172:1521:yfzx","zhfxyp","zhfxyp");
//			PreparedStatement pstmt = con.prepareStatement("select  table_name   from   user_tables t where t.table_name like '%'||'DIM'||'%'");
//			rs = pstmt.executeQuery();
//			while (rs.next()) {
//				System.out.println(rs.getString(1));
//			}
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}
//		try {
//		Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.9.172:1521:yfzx","zhfxyp","zhfxyp");
//		rsmt = con.getMetaData();
//		ResultSet rs=rsmt.getColumns(null, null, "DIM_WF_DSR", null);
//			while (rs.next()) {
//				System.out.println(rs.getString(4));
//			}
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}
//	}
//	
//	public static void main(String[] args) {
//		DataBaseAdmin db = new DataBaseAdmin();
//		db.test();
//	}
	
	 public void updatePage(ValueChangeEvent e){
		 System.out.println("======");
		 this.setTestingstring("234");
		 
//		 String table = this.getParameter("database");
//		 ResultSet rs = null;
//		 System.out.println("~~~~~~~~~~~"+columnsName.length);
//		 try {
//			rsmt = (sid.getDataSource().getConnection()).getMetaData();
//			rs = rsmt.getColumns(null, null, table, null);
//		} catch (SQLException e1) {
//			e1.printStackTrace();
//		}
//		StringBuilder s = new StringBuilder();
//		if(rs!=null) {
//			try {
//				rs.last();
//				columnsName = new String[rs.getRow()];
//				rs.beforeFirst();
//				int count = 0;
//				while(rs.next()) {
//					s.append(rs.getString(4)+",");
//					columnsName[count++] =rs.getString(4) ;
//				}
//				System.out.println("~~~~~~~~~~~"+columnsName.length);
//			} catch(SQLException e2) {
//				e2.printStackTrace();
//			}
//			String sql = "select "+s.substring(0, s.lastIndexOf(",")) +" from "+table;
//			dataModel = sid.getCllx(sql);
//			if(rs!=null) {
//				rs = null;
//				try {
//					rs.close();
//				} catch (SQLException e1) {
//					e1.printStackTrace();
//				}
//			}
//		}
	 }
	 
	 //get table data
	 public List getDataModel() {
		 return dataModel;
	 }
	 
	 public String getParameter(String param) {
		if ((String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(param) !=null) {
			return ((String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get(param)).trim();
		} else {
			return null;
		}
	}

	public String[] getColumnsName() {
		return columnsName;
	}
	 
	 
}

 帮忙看看为什么我的Listener调用不了

后台没有打印“======”,按理说调用Listener的时候会调用

高手搞起啊。感谢了!

 

 

 

 

 

 

问题找到了。。。是ice:selectOneMenu的为问题,改成h:selectOneMenu就好了。。。悲催

分享到:
评论

相关推荐

    <h:selectOneMenu>与<a4j:support>的集合运用(JSF)

    在JSF(JavaServer Faces)框架中,`&lt;h:selectOneMenu&gt;` 是一个用于创建下拉选择框的组件,而 `&lt;a4j:support&gt;` 是RichFaces库提供的一种Ajax支持的标签,它允许我们实现页面的部分更新,提高用户体验。这篇博客文章...

    用selectOneMenu标签开发级联选择

    本篇将深入探讨如何使用`&lt;h:selectOneMenu&gt;`标签来实现这种功能,该标签是JavaServer Faces (JSF)框架的一部分。 ### JSF `&lt;h:selectOneMenu&gt;`标签介绍 `&lt;h:selectOneMenu&gt;`是JSF中用于创建单选下拉列表的组件。它...

    设置jsf的选择框h:selectOneMenu为不可编辑状态的方法

    在JSF(JavaServer Faces)框架中,`h:selectOneMenu` 是一个用于创建下拉选择框的组件。在某些场景下,我们可能需要将这个组件设置为只读或不可编辑状态,以便用户只能查看选项,而不能进行选择。本文将详细讲解...

    qfaces 使用方法 WORD版

    5. **使用简单**:只需简单的配置,如 `&lt;q:linkage for="country,province,city,area,street" listener="#{LinkageBean.listener}"/&gt;`,即可创建联动效果。 在实际开发中,级联选择常见于如国家-省-市-区-街道这样...

    jsf实用代码

    在JSF中,`&lt;h:selectOneMenu&gt;`和`&lt;h:selectManyMenu&gt;`标签分别用于创建单选和多选下拉列表。这些标签允许开发者绑定数据模型到选项,以及处理用户的选中操作。例如: ```html &lt;h:selectOneMenu value="#{bean....

    設定Style讓標準的JSF元件比較像Primefaces1

    &lt;h:selectOneMenu id="selType" value="#{authfile.queryFileType}" disabled="#{authfile.showResult}" styleClass="ui-inputfield ui-widget ui-state-default ui-corner-all" accesskey="2" title="#{msg['...

    JSF_2_简介

    valueChangeListener="#{cc.parent.attrs.location.zoomChanged}"&gt; &lt;f:selectItems value="#{places.zoomLevelItems}"/&gt; &lt;/h:selectMenu&gt; ``` #### 三、Ajax支持 JSF 2 内置了对Ajax的支持,这意味着开发者可以...

    JSF标签详解(一个不漏).doc

    selectItem标签用于指定UISelectOne或UISelectMany组件的一个项目,用来为h:selectOneMenu等选择性组件设置选择数据项。示例代码: ``` &lt;h:selectOneMenu value="#{bean.selectedItemValue}"&gt; &lt;f:selectItem .../&gt;...

    jsf的初步使用(包括jsf框架的引入、用户登录、自定义表单验证、valueChangeEvent值变更事件处理做的级联下拉框,内有jsf的jar包)

    &lt;h:selectOneMenu id="country" value="#{bean.country}"&gt; &lt;f:ajax event="valueChange" listener="#{bean.onCountryChange}" render="city" /&gt; &lt;f:selectItems value="#{bean.countries}" var="c" itemValue="#{c...

    JSF三级级联

    - 使用`h:selectOneMenu`来创建下拉列表,每个列表都有一个`valueChangeListener`属性,用于监听用户的选择变化。例如,省份列表的`onchange`事件触发`showcity2()`函数,城市列表的`onchange`事件触发`showcity3()...

    jsf常用标签整理

    例如:&lt;h:selectOneMenu value="#{ConfInitFTPVBean.probeStrategy}"&gt; &lt;f:selectItems value="#{ConfInitFTPVBean.probeStrategyList}" var="strategy" itemLabel="#{strategy.name}" itemValue="#{strategy.value}...

    JSF标准标签

    - **`valueChangeListener`**: 监听值的变化。 - **`converter`**: 定义如何将用户输入转换为适当的对象类型。 - **`validator`**: 验证用户输入。 - **`required`**: 标识字段是否为必填项。 - **`immediate`**: ...

    seam级联菜单例子

    级联菜单的实现可能涉及到`&lt;h:selectOneMenu&gt;`或`&lt;p:selectOneMenu&gt;`标签,其中`p:`是PrimeFaces组件库的前缀,而`h:`则是JSF的标准组件库前缀。这些组件可以配置成响应用户的选中事件,通过Ajax请求获取下一级菜单...

    JSF中文标签

    - **valueChangeListener**:设置值改变事件处理者。 - **converter**:设置数据转换器。 - **validator**:设置验证器。 - **required**:检查输入框是否必须填写。 - **immediate**:控制事件是否立即触发。 此外...

    重要知识JSF标签.pdf

    4. **选择(Selections)**:如`&lt;h:selectOneMenu&gt;`,用于实现选项选择。 5. **其他**:包括`&lt;h:form&gt;`、`&lt;h:message&gt;`、`&lt;h:messages&gt;`和`&lt;h:graphicImage&gt;`等。 这些标签拥有共同的属性,例如: - `id`:用于唯一...

    JSF2中实现国际化

    &lt;h:selectOneMenu value="#{localeBean.locale}"&gt; &lt;f:selectItem itemValue="en" itemLabel="English" /&gt; &lt;f:selectItem itemValue="zh_CN" itemLabel="中文" /&gt; &lt;!-- 添加其他语言选项 --&gt; &lt;f:ajax execute="@...

Global site tag (gtag.js) - Google Analytics