基于ajax的 页面 二级联动不刷新
首先看页面
<%@ 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"%>
<h:form id="f3">
<rich:panel header="ajax 下拉列表的二级联动 实现">
<h:outputLabel value="国家" />:
<h:selectOneMenu id="country" valueChangeListener="#{userListAction.changeListeForCity}"
value="#{userListAction.country}" style="width:100px"
immediate="true">
<f:selectItems value="#{userListAction.countries}" />
<a4j:support event="onchange" reRender="city" immediate="true" />
</h:selectOneMenu>
<h:outputLabel value="城市" />:
<a4j:outputPanel>
<h:selectOneMenu id="city" value="#{userListAction.city}"
style="width:100px">
<f:selectItems value="#{userListAction.cities}" />
</h:selectOneMenu>
</a4j:outputPanel>
</rich:panel>
</h:form>
说明 主要是 通过 a4j:support 去监听值改变事件去更新 要联动的 h:selectOneMenu 的值
下面是 监听 值改变事件的 方法 changeListeForCity
/**
* 基于 ajax的 二级联动
* @param event
*/
public void changeListeForCity(ValueChangeEvent event){
cities.clear();
//通过该控件监听器 获取改变的新值
String newVal = (String) event.getNewValue();
if("CN".equals(newVal)){
cities.add(new SelectItem("WH","武汉"));
cities.add(new SelectItem("SZ","深圳"));
cities.add(new SelectItem("SH","上海"));
}else if("US".equals(newVal))
{
cities.add(new SelectItem("aa","aa"));
cities.add(new SelectItem("bb","bb"));
cities.add(new SelectItem("cc","cc"));
}else{
cities.add(new SelectItem("0","请选择"));
}
}
其实 最关键的地方 还是 immediate="true"的设置
分享到:
相关推荐
JSF配用A4J在jsp中进行的二级联动使用方法。
**Ajax4JSF详解** Ajax4JSF 是一个开源项目,它为JavaServer Faces (JSF) 提供了Ajax功能的扩展。这个框架允许开发者在JSF应用中轻松实现异步数据更新,提升用户界面的交互性和响应性,无需深入学习复杂的...
jsf结合ajax实现文件上传,值得阅读
JSON因其轻量级和高效的特性,通常被用作Ajax通信的数据格式。通过设置Ajax请求的属性,开发者可以选择合适的数据格式。 ### 8. 回调函数和脚本处理 Ajax4JSF允许在客户端定义回调函数,以便在服务器响应后执行。...
**JSF(Apache MyFaces)与Ajax简介** JavaServer Faces (JSF) 是一个用于构建用户界面的Java EE框架,由Apache MyFaces实现。它为开发者提供了丰富的组件库和事件处理模型,使得构建Web应用变得更加简单。JSF的核心...
**Ajax4JSF-Demo 知识点详解** Ajax4JSF 是一个为JavaServer Faces (JSF) 应用程序提供Ajax功能的开源库。它允许开发者在JSF环境中轻松实现异步数据更新,提升用户界面的交互性和响应速度。这个"ajax4jsf-demo"项目...
**二、Ajax4JSF的使用步骤** 1. **引入依赖**: 首先,需要在项目中引入Ajax4JSF的jar文件,这些文件通常包括核心库、JSF实现和其他必要的依赖。 2. **配置Facelets**: 如果你使用Facelets作为视图层技术,需要在...
【标题】"jboss-ajax4jsf-1.1.1-src" 是一个开源项目,主要涉及Ajax4jsf框架的源代码版本,版本号为1.1.1。Ajax4jsf是针对JavaServer Faces (JSF) 技术的一个扩展,它允许开发者在JSF应用中无缝集成Ajax功能,提升...
ajax4jsf jar ajax4jsf jar
本资源包包含了JSF从入门到进阶的多个方面,包括基础教程、核心组件库(LIB)、Ajax4JSF的使用以及项目创建的指导,是学习JSF的宝贵资料。 1. **JSF入门教程**:JSF的基础知识讲解,涵盖了JSF的基本概念、架构和工作...
Seam、JSF、RichFaces 和 Ajax4jsf 是四个重要的Java Web开发框架和技术,它们在构建现代、交互式Web应用程序中发挥着关键作用。让我们深入探讨这些技术及其结合使用时的知识点。 **1. Seam** Seam是一个开源的Java...
**Ajax4jsf 用户手册** 是一份详细的指南,旨在帮助开发者了解如何在JavaServer Faces (JSF)项目中集成和使用Ajax4jsf框架。该框架使得在JSF环境中实现Ajax功能变得更加简单,无需编写JavaScript代码,而是通过一组...
《图书馆管理系统:基于JSP、JSF、AJAX与J2EE的技术实现》 图书馆管理系统是一种信息化解决方案,它采用先进的Web技术,旨在提高图书馆的工作效率和服务质量。本系统以JSP(JavaServer Pages)、JSF(JavaServer ...
JSF-Ajax4jsf学习资料
#### 二、开始使用Ajax4jsf - **环境需求**: - JDK1.4或更高版本。 - 任何JSF实现。 - Servlet容器。 - **下载与安装**:文档未详细介绍,但通常包括下载框架的最新版本并按照官方指南进行配置。 - **简单示例...
ajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jarajax4jsf.jar
ajax4jsf.jar是在jsf中封装应用ajax功能的包,其优点是不用编写ajax的代码
Ajax4JSF(Ajax for JavaServer Faces)是一个开源框架,专为JavaServer Faces(JSF)应用程序添加Ajax功能。这个框架使得开发者无需编写JavaScript代码就能实现丰富的用户界面和交互性。Ajax4JSF充分利用JSF的优势...
Ajax4jsf则是JSF的一个扩展,它提供了集成的Ajax支持,使得开发者能够在不刷新整个页面的情况下更新部分UI。 1. **JSF框架**:JSF遵循Model-View-Controller(MVC)设计模式,将业务逻辑、数据模型和用户界面分离...