对于actionListener我理解的就不是太多了
我的角度就是说actionlistener就是用于当前页面的各种组件监听,并且可以进行改变
jsf最重要的就是生命周期的规律
我们应该记住的是一般情况下,ajax的请求是在actionListener前面的,我们可以认为的是ajax就是页面端发出请求的,但是actionListener是在进入服务端将事件加入queue,然后将在第五个阶段进行调用,下面有一个例子比较简单
<h:inputText id="userName" value="#{user.userName}"/>
<h:commandButton id="check" onclick="return userExit('rForm:message rForm:userName','rForm:userName rForm:check',this,event);"
actionListener="#{manager.checkUser}" value="checkUser" />
这里定义了一个ajax的按键用来确认用户名是否已经存在存在我们可以看到的是这个command 里有一个onclick 还有一个actionLIstener 下面我将js的代码贴上
function userExit(target,exec,element,event){
if(isNull(document.getElementById("rForm:userName"))){
alert("the userName is null");
document.getElementById("rForm:userName").focus();
return false;
}
else{
try{
jsf.ajax.request(element, event ,{execute: exec , render: target});
}catch(ex){
alert(ex);
}
return false;
}
return true;
}
这里我们就定义的是一个函数,我们首先是判断是否为空 为空的话就显示不能为空,并且不再进行ajax的运算 这里还有就是sun提供的jsf.ajax里的方法 具体我就不讲了 render表示的就是该那个组件进行重新解码 execute指的是将那几个组件传到服务器端进行交互,
服务器端的代码就是
public void checkUser(ActionEvent event){
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
UserBean register = (UserBean) context.getRequestMap().get("user");
DBibatis db = new DBIbatisImpl();
UserBean dbUser = db.queryByName(register.getUserName());
if(dbUser == null){
//可以使用这个用户名
register.setMessage("you can use this userName");
}else{
register.setMessage("this userName has exit ,please chose another one");
}
}
如果不理解这里面的变量的名称可以看上一篇jsf的介绍这样就能够理解了
所以说actionListener应用的场合通常是本页面,但是里面的提交的时间必须的到服务端进行执行,那么我想他的大多数的应用就是和ajax进行互补一下
分享到:
相关推荐
Ajax4JSF 是一个扩展了JavaServer Faces (JSF)框架的库,它提供了一组AJAX(异步JavaScript和XML)相关的标签,使得开发者能够更方便地在JSF应用中实现局部刷新和异步数据交互。在本文中,我们将探讨Ajax4JSF中的几...
本文将深入探讨JSF中的事件处理,主要包括ActionController(行为控制器)与事件监听器如ActionListener和ValueChangeListener的区别与用法。 首先,ActionController和事件监听器服务于不同的目的。ActionController...
### RichFaces 4 组件参考知识点 #### 一、引言 ...以上是对 RichFaces 4 组件参考文档中关键知识点的总结,通过对这些知识点的学习和理解,开发者可以更高效地利用 RichFaces 4 创建高质量的 AJAX 应用程序。
除了上述的通用Ajax属性之外,Richfaces 4 还提供了一些通用的特性来增强组件的功能性和可用性。 ##### 3.1 定位与外观 组件的定位和外观对于提升用户体验至关重要。通过调整组件的位置和样式,可以让页面看起来...
这些示例通常包含了如何在实际项目中使用这些组件的完整代码和配置,是学习和理解PrimeFaces功能的绝佳资源。 1. **PrimeFaces组件**:PrimeFaces提供了多种组件,如数据表(DataTable)、图表(Chart)、日期选择...
例如,`<f:attribute>`用于在父组件中设置特性,`<f:param>`用于向父组件添加参数,`<f:actionListener>`和`<f:propertyActionListener>`用于添加动作监听器,`<f:converter>`用于添加转换器,如`...
`javax.faces.event`包包含了各种事件类和监听器接口,如`ActionEvent`和`ActionListener`用于处理用户触发的动作事件,`ValueChangeEvent`和`ValueChangeListener`则用于监听和处理组件值的变化。 **6. Managed ...
Java是一种广泛应用于各种领域的编程语言,特别是在开发桌面应用、网页应用和...通过分析和修改这些代码,你将加深对上述知识点的理解,并提升编程能力。同时,这也适合作为课程设计的项目,帮助你将理论知识付诸实践。
- **事件绑定**:使用 `action` 和 `actionListener` 属性绑定方法,处理用户交互。 - **AJAX 行为**:利用 `<a4j:support>` 标签添加 AJAX 行为,实现实时更新。 - **皮肤定制**:修改 CSS 样式文件,调整组件...
8. **替代技术**:随着Web技术的发展,Applet逐渐被其他技术取代,如JavaScript、Ajax、Flash、Silverlight和现代的Web框架(如Angular、React)。Java Web Start(JNLP)和JavaFX也提供更安全、更现代的替代方案。 ...
### JSF帮助文档知识点概述 #### 一、引言与框架简介 - **JSF (JavaServer Faces)**:一种用于构建基于Java的应用...这些知识点涵盖了JSF中的核心概念和技术细节,对于理解和使用JSF进行Web应用程序开发非常有帮助。
- 这可能是项目中的主要模块或主类名,表示该相册可能使用了一些Ajax技术,用于创建更动态的Web界面。 通过分析这个"java相册完整代码",开发者可以深入学习到Java GUI编程、文件操作、数据库交互、图像处理等多个...
HTML和JavaScript常用于构建客户端的窗体界面,而jsp通过Servlet和Ajax技术处理用户的交互事件。例如,表单提交后,jsp页面可以接收请求,处理数据,然后返回响应。 学习这些知识点,开发者能够创建具有响应式交互...
理解每个阶段的工作原理对于优化和调试JSF应用至关重要。 **五、JSF与MVC模式** JSF遵循Model-View-Controller(MVC)设计模式。模型负责业务逻辑,视图负责展示,控制器处理用户请求并协调模型和视图。JSF的组件、...
4. **AJAX**:使用jQuery的$.ajax()或$.get()、$.post()进行异步数据请求,实现前后端数据交互。 5. **动画效果**:利用jQuery的fadeIn(), fadeOut(), slideUp()等方法创建平滑的视觉效果。 6. **插件使用**:可能...
例如,`<f:ajax event="action" listener="#{bean.actionListener}">`会调用`actionListener`方法来响应`action`事件。 ### 5. ManageBean ManageBean是JSF中的业务逻辑容器,用于封装和管理应用程序的状态。它们...
学习“JAVA文本框验证大全”,不仅可以加深对Java Swing组件的理解,还能提升你在用户交互设计和数据验证方面的技能。同时,了解不同的验证策略和库可以帮助你更灵活地应对各种场景,为用户提供更好的输入体验。
AWT和Swing都提供了多种事件类型和相应的监听器接口,例如ActionListener用于处理动作事件,MouseListener和MouseMotionListener则用于处理鼠标事件。 总之,Java的图形用户界面设计涉及AWT和Swing的组件、容器、...
在Java编程领域,"JAVA-文字成正玄移动"是一个有趣的项目,它涉及到图形渲染和动画效果的创建,特别是将文字在网页上按照...通过这样的项目,开发者不仅可以深入理解Java编程,还能提升在图形和交互设计方面的技能。
- `ActionListener`和`DocumentListener`接口用于监听文本组件的用户交互和内容变化,以便做出响应。 6. **国际化(i18n)**: - Java支持多语言环境,对于文本编辑应用,可以使用`ResourceBundle`来存储不同语言...