JSF的重要目的是试图允许开发者象开发Swing一样开发Web,所以事件的概念非常重要(这也是Struts的不足之处)。基本上说来,JSF的事件可以分成两种类型:
阶段事件(Phase Event)和
Faces事件(Faces Event)。阶段事件主要用来处理请求生命周期的特定阶段中发生的事件。Faces事件则是负责处理组件事件的。Swing中的事件基本上可以和Faces事件相对应。之所以JSF事件中有阶段事件是因为Web中毕竟通过没有状态的HTTP协议来进行请求和响应,所以使用阶段事件来处理这些问题。
我们先关注一下和Swing事件相对应的
Faces事件。Faces事件也可以分成两种类型:
值变事件(Value Change Event)和
动作事件(Action Event)。值变事件主要关注的是组件属性值的变化(例如展开树节点,改变输入栏中的内容等等)。动作事件主要关注组件的激活(其实就是组件的状态)(例如按钮点击,超链接点击等等)。他们的关系图如下:Phase Event和Faces Event都继承于java.uti.EventObject. ValueChangeEvent和ActionEvent继承于FacesEvent.
使用JSF事件很容易:
- 实现接口ValueChangeListener (实现processValueChanged()方法)或者接口ActionListener(实现processAction()方法)。
- 使用<f:valuechangelistener type="">
xml 代码
- <f:valueChangeListener>
- <f:actionListener>
<f:valuechangelistener><f:actionlistener>等标签在组件上注册这个监听器(通常在页面中配置)。</f:actionlistener></f:valuechangelistener></f:valuechangelistener>
分享到:
相关推荐
### JSF事件类型 JSF支持多种事件类型,这些事件可以在组件之间或应用程序级别触发。例如: - **组件级事件**:发生在特定UI组件上,如点击按钮或选择下拉框选项。 - **应用程序级事件**:在更广泛的范围内传播,...
2. **事件驱动**:用户交互触发事件,JSF会处理这些事件并调用对应的处理方法。 3. **可扩展性**:JSF允许开发者自定义组件和行为,以适应特定需求。 4. **与Java EE集成**:JSF可以与其他Java EE技术如EJB、JPA、...
此外,JSF还允许自定义转换器,以确保数据在组件和Bean之间的正确类型转换。 5. **视图和会话范围的Bean**:JSF中的Managed Bean可以在不同的作用域中存在,如请求、会话、应用和视图。视图和会话范围的Bean特别...
JSF提供了数据转换器(Converter)接口,允许开发者自定义数据类型之间的转换规则。验证(Validator)则用于检查用户输入是否符合预期,例如,检查邮箱格式是否正确,或者数值是否在指定范围内。 **生命周期** 是...
在JSF中,UI组件(View)可以直接映射到后端的数据源(Model),并可以通过事件处理(Controller)进行交互。这使得开发者可以更专注于业务逻辑,而无需过多关注底层的HTTP通信细节。 首先,JSF的组件库是其一大...
**JSF(JavaServer Faces)** 是一种Java平台上的Web应用程序开发框架,它提供了一种组件化和事件驱动的方式来创建用户界面。JSF的核心概念包括组件、事件、渲染器和生命周期,这些元素共同构建了一个强大的MVC...
1. **JSF事件类型**:JSF事件可以分为两类:基本事件和自定义事件。基本事件是由JSF框架本身生成的,例如,组件的验证失败、提交请求或渲染响应等。自定义事件则是由开发者根据需求创建的,它们可以是任何有意义的...
`ActionEvent`是JSF中最常见的事件类型,通常在命令组件(如按钮)被点击时触发。通过实现`ActionListener`接口,开发者可以处理这些事件。 ### 7. 视图状态管理 JSF维护着组件树的状态,以便在请求之间保持视图的...
手册中应该详细讲解了DHTML的基本概念、语法、事件处理以及如何创建交互式的网页元素,对于前端开发者来说是不可或缺的参考。 接着,"JSF中文教程"和"JSF API"是针对JavaServer Faces的学习资料。JSF是Java EE平台...
1. **定义主复选框**:在JSF页面中,创建一个BooleanCheckbox,将其value属性绑定到一个布尔类型的属性,比如`selectAll`。这个属性将存储全选状态。 ```xml 全选 ``` 2. **定义子复选框**:为每个需要响应全选...
在这个项目中,开发者可能自定义了JSF的监听器和处理器,以处理文件上传事件。监听器会检测文件上传的开始和结束,而处理器则负责处理每个文件块的上传,并在所有块都成功上传后将它们合并成原始文件。这个过程可能...
在数据处理方面,JSF内置了标准转换器和验证器,这些转换器和验证器能够自动处理数据类型转换和输入验证,开发者也可以实现自定义转换器和验证器来满足特定的业务需求。JSF还包含了一套错误信息处理机制,能够在用户...
- JSF支持事件处理机制,允许开发者定义和处理组件级别的事件。事件可以是用户交互,如点击按钮,也可以是应用程序内部触发的事件。 - 事件监听器是响应特定事件的Java方法,通过在组件上注册监听器,开发者可以在...
3. **Managed Beans**: Managed Beans是JSF中业务逻辑的载体,它们可以注入到JSF组件中,处理用户的请求并更新模型数据。 4. **EL(Expression Language)**: EL是一种简洁的表达式语言,用于在JSF视图中访问和操作...
**事件处理** 在JSF 1.2中也扮演着重要角色。组件之间可以通过事件进行通信,比如按钮点击事件。当事件触发时,可以关联一个事件处理器来执行相应的业务逻辑。这种模式减少了代码之间的耦合,提高了可维护性。 **...
这里的`type`属性指定了事件类型,`listener`属性引用了处理事件的方法。 另一方面,`<f:ajax>`标签用于处理异步请求和局部刷新,它同样支持事件监听。例如: ```xml ``` 在这个例子中,当按钮被点击时,`...
7. **转换和国际化**:JSF支持数据类型的转换和多语言支持,使得应用程序更具全球化能力。 8. **事件和监听器**:JSF组件可以触发和响应事件,开发者可以注册监听器进行相应的处理。 9. **自定义组件**:开发者可以...