select.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<f:view>
<html>
<body>
<br>
<br>
<br>
<br>
<br>
<a4j:form>
<h:selectOneMenu value="#{testBean.selectedOne}"
valueChangeListener="#{testBean.selectedOneChange}">
<f:selectItems value="#{testBean.LMList}" />
<a4j:support event="onchange" limitToList="true"
action="#{testBean.change}" reRender="two" ajaxSingle="true">
</a4j:support>
</h:selectOneMenu>
<h:selectOneMenu value="#{testBean.selectedTwo}" id="two"
valueChangeListener="#{testBean.selectedTwoChange}"
immediate="true">
<f:selectItems value="#{testBean.currentMCList}" />
</h:selectOneMenu>
<a4j:commandButton type="submit" value="OK"
action="#{testBean.saveCondition}" />
</a4j:form>
</body>
</html>
</f:view>
MySelect.java
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
public class MySelect {
public List<SelectItem> LMList = new LinkedList<SelectItem>();;
public Vector<List<SelectItem>> MCList = new Vector<List<SelectItem>>();
public List<SelectItem> currentMCList = new LinkedList<SelectItem>();
public String selectedOne = new String();
public String selectedTwo = new String();
public MySelect () throws Exception {
// This is just a sample.
// You colud add your DB connection here and INI you List from DataBase.
LMList.add(new SelectItem("0_0", ""));
LMList.add(new SelectItem("A_1", "A"));
LMList.add(new SelectItem("B_2", "B"));
LMList.add(new SelectItem("C_3", "C"));
List<SelectItem> list0 = new LinkedList<SelectItem>();
List<SelectItem> list1 = new LinkedList<SelectItem>();
List<SelectItem> list2 = new LinkedList<SelectItem>();
List<SelectItem> list3 = new LinkedList<SelectItem>();
list0.add(new SelectItem("", ""));
list1.add(new SelectItem("", ""));
list1.add(new SelectItem("a1", "a1"));
list1.add(new SelectItem("a2", "a2"));
list2.add(new SelectItem("", ""));
list2.add(new SelectItem("b1", "b1"));
list2.add(new SelectItem("b2", "b2"));
list3.add(new SelectItem("", ""));
list3.add(new SelectItem("c1", "c1"));
list3.add(new SelectItem("c2", "c2"));
MCList.add(list0);
MCList.add(list1);
MCList.add(list2);
MCList.add(list3);
}
public void selectedOneChange(ValueChangeEvent event) {
// valueChangeEvent of the first SelectOneMeun
// The action is about INI the list for the second SelectOneMeun
String str = (String) event.getNewValue();
// Like you see, in the first SelectItems we hava "A_1"
String[] ss = str.split("_");
// After this we got the index of the "A_1" and the index is "1"
str = ss[1];
int index = Integer.parseInt(str);
System.out.println(index);
currentMCList = MCList.get(index);
}
public void selectedTwoChange(ValueChangeEvent event) {
// valueChangeEvent of the second SelectOneMeun
// add action if you have
System.out.println("selectedTwoChange");
}
public void saveCondition() {
// add action if you have
System.out.println("saveCondition");
}
public void change() {
System.out.println(selectedOne+"---------");
System.out.println("I was changed! 哈哈");
}
public List<SelectItem> getLMList() {
return LMList;
}
public void setLMList(List<SelectItem> list) {
LMList = list;
}
public String getSelectedOne() {
return selectedOne;
}
public void setSelectedOne(String selectedOne) {
this.selectedOne = selectedOne;
}
public String getSelectedTwo() {
return selectedTwo;
}
public void setSelectedTwo(String selectedTwo) {
this.selectedTwo = selectedTwo;
}
public List<SelectItem> getCurrentMCList() {
return currentMCList;
}
public void setCurrentMCList(List<SelectItem> currentMCList) {
this.currentMCList = currentMCList;
}
}
分享到:
相关推荐
JSF的学习入门知识教程,里面有例子还有各个标签的使用及属性介绍
**JSF 2.0 局部刷新技术详解** JSF (JavaServer Faces) 是一个用于构建用户界面的 Java 框架,特别是在 Web 应用程序中。JSF 2.0 版本引入了许多改进,其中一项重要的功能就是局部刷新(Partial Page Rendering),...
在这个“ajax4jsf 刷新datatable 例子”中,我们将探讨如何利用Ajax4jsf实现数据表格(datatable)的局部刷新功能,从而提高用户体验。 首先,让我们了解什么是Datatable。在JSF中,`<h:dataTable>` 是一个组件,...
### JavaServer Faces (JSF) 完全参考手册知识点概览 #### 1. JavaServer Faces (JSF) 框架简介 - **JSF 定义**:JavaServer Faces(JSF)是一种用于构建基于Java的企业级Web应用程序的标准框架。它提供了组件驱动...
自己利用jsf richfaces facelets实现的页面局部刷新的示例,有兴趣的朋友可以下载看看。
在JavaServer Faces (JSF)框架中,参数传递是一个关键的操作,它允许数据在不同页面之间或者组件之间流动。JSF 提供了多种方法来处理参数传递,包括使用`<f:param>`标签、Managed Bean的属性绑定以及共享Request ...
资源名称:精通JSF—基于EJBHibernateSpring开发实践视频教程资源目录:【】chapter13_code【】Jsf第七章【】JSF第二章【】Jsf第五章【】Jsf第八章【】Jsf第六章【】Jsf第十三章【】Jsf第十五章【】Jsf第十六章【】...
**JSF(JavaServer Faces)** 是一个Java平台上的Web应用程序框架,用于构建用户界面。它简化了开发人员创建交互式、数据驱动的Web应用程序的过程。JSF提供了一种组件模型,允许开发者通过声明性方式来构建用户界面...
### JSF基于EJB Hibernate Spring整合开发与项目 #### 一、JSF基础知识 ##### 1.1 了解JSF JavaServer Faces (JSF) 是一个用于构建基于Web的应用程序的标准Java EE技术。它提供了丰富的组件库以及一套声明式的...
**JSF:Java Server Faces详解** Java Server Faces (JSF) 是Java平台上的一个用于构建Web应用程序的MVC(Model-View-Controller)框架。它为开发者提供了丰富的组件库、事件处理机制以及生命周期管理,使得开发...
【标题】"notes_JPA_JSF:使用JSF和JPA实施来重建Notes项目"涉及的是在Java开发环境中,利用JavaServer Faces (JSF) 和 Java Persistence API (JPA) 技术重构建一个名为Notes的项目。JSF是Java EE平台上的一个用户...
总的来说,"SCR-JSF:JSF + Web 教学"是一个关于使用JavaServer Faces开发Web应用的教程,涵盖了从基础概念到实际开发的方方面面,旨在帮助学习者掌握JSF框架并运用到实际项目中。通过深入学习和实践,你可以提升自己...
这个名为"jsf:为研究 jsf 技术而创建的存储库"的项目,显然是为了深入理解和学习JSF技术而设立的资源库,包含的`jsf-master`目录可能包含了各种示例代码、文档和教程。 **JSF的核心组件** 1. **模型(Model)**:...
《精通JSF基于EJB Hibernate Spring整合天发与项目实践》是一本深入讲解Java服务器页面(JavaServer Faces,简称JSF)、企业级JavaBean(Enterprise JavaBeans,简称EJB)、Hibernate对象关系映射(Object-...
**JSF(JavaServer Faces)**是Java平台上用于构建用户界面的一种组件模型框架,它主要用于Web应用程序开发。JSF提供了一种声明式的方式来创建和管理Web应用中的用户接口,简化了开发过程。在这个名为"agoncal-...
项目:crud-jsf 作者:阿德里亚诺·桑托斯·拉莫斯技术:CDI、JSF、JPA、EJB、JPA 总结:jsf 中的 crud 示例来源: : 信息 它是一个带有 crud 的 Maven 3 项目,在 JBoss Enterprise Application Platform 6 或 ...
### JSF 2.0 用户输入验证详解 #### 概述 JSF(JavaServer Faces)2.0作为Java EE平台的一部分,在Web应用程序开发中扮演着重要的角色。它提供了丰富的功能来简化用户界面的设计和实现过程。其中一项关键功能就是对...
【标题】"qt.rar" 提供的是一个关于 "jsf example" 的实例,结合了 "jsf spring hibernate" 的技术栈,同时包含了 "jsf下拉菜单" 的实现,以及 "spring jsf hibernate" 的整合应用。这个压缩包可能是为了演示如何在...
精通JSF-基于EJB Hibernage Spring整合开发与项目实践代码.part1,第一部分,。将三部分一起下载完后再解压第一部分!
jsf 它是什么 该存储库是的Python端口,在实现上有一些细微的差异。 结合使用jsf和假生成器,可以为您的系统提供一致且有意义的假数据。 主要特点 提供任何JSON模式的开箱即用数据生成 使用任何lambda函数的可扩展...