`

RichFaces中如何让ModalPanel在Ajax验证有错误时不关闭

阅读更多
RichFaces中如何让ModalPanel在Ajax验证有错误时不关闭(如必填项未填,验证器验证不通过等),验证通过了才关闭,我的解决方法如下:

第一:后台action类里面声明一变量用来控制是否关闭modalPanel
private String hideModalPanel;//加上getter、setter方法
第二:在前台按钮加上oncomplete="#{action.hideModalPanel}",当我们触发按钮提交后会触发oncomplete事件,若验证未通过则不会执行action方法,则hideModalPanel默认为null,故modalPanel不会关闭,若验证通过,则会执行action方法,我们可在action方法里面设置(当然你也可以在action再加验证,自己可控制)
setHideModalPanel("Richfaces.hideModalPanel('modalPanel的id')");
当action方法执行完成,则会执行oncomplete="#{action.hideModalPanel}",此时hideModalPanel的值为Richfaces.hideModalPanel('modalPanel的id')了,故modalPanel会关闭。

总结:主要是利用oncomplete事件(The client-side script method to be called after the request is completed),当action请求完成后触发,利用这种机制我们可轻松实现上面问题,当然oncomplete事件用处很广泛,后续我会继续探讨。
分享到:
评论
3 楼 xiaojianbo 2012-02-10  
yourenyouyu2008 写道
思路很精巧,充分利用了oncomplete页面响应后才执行的特点。
提点小改进意见,oncomplete="if(#{hasError}){Richfaces.hideModalPanel('modalPanelid').hide);
},这样就不用在action中些【Richfaces.hideModalPanel('modalPanelid')】这些代码了。并且#{hasError}是通用功能,与具体action无关。


很好,这样以后更好维护了,复用性不错。
2 楼 yourenyouyu2008 2012-02-10  
思路很精巧,充分利用了oncomplete页面响应后才执行的特点。
提点小改进意见,oncomplete="if(#{hasError}){Richfaces.hideModalPanel('modalPanelid').hide);
},这样就不用在action中些【Richfaces.hideModalPanel('modalPanelid')】这些代码了。并且#{hasError}是通用功能,与具体action无关。
1 楼 nighthawk 2012-02-10  
不错,很实用的技巧。

相关推荐

    RichFaces中的ajax组件实现刷新验证码

    在探讨“RichFaces中的ajax组件实现刷新验证码”的技术细节时,我们首先需要理解RichFaces框架以及AJAX在其中的应用。RichFaces是一个基于JavaServer Faces(JSF)的开源UI组件库,它提供了丰富的用户界面组件,包括...

    RichFaces中的Ajax组件的使用指南

    ### RichFaces中的Ajax组件使用指南 ...通过上述介绍,我们不仅对RichFaces中的Ajax组件有了更深入的理解,还掌握了如何配置和使用这些组件来提升Web应用程序的用户体验。希望本文能够为初学者提供一定的指导和支持。

    richfaces中文开发文档

    **RichFaces中文开发文档概述** RichFaces是一款基于JavaServer Faces(JSF)技术的开源UI组件...有了中文开发文档,开发者可以更方便地学习和应用这个框架,无论是在新项目开发还是旧项目维护中,都能发挥重要作用。

    seam+jsf+richfaces+ajax4jsf 电子书

    Seam、JSF、RichFaces 和 Ajax4jsf 是四个重要的Java Web开发框架和技术,它们在构建现代、交互式Web应用程序中发挥着关键作用。让我们深入探讨这些技术及其结合使用时的知识点。 **1. Seam** Seam是一个开源的Java...

    richfaces-ui-3.2.1

    在"richfaces-ui-3.2.1.GA"这个版本中,“GA”代表General Availability,意味着这是经过广泛测试和验证的稳定版本,适合生产环境使用。这一版本对3.2.0进行了优化和修复,旨在提高性能和稳定性,同时可能引入了新的...

    richfaces实现ajax带进度条的上传

    在这个监听器中,你可以处理文件的保存、验证大小和类型,以及更新进度信息。 6. **分块上传**:如果文件较大,RichFaces支持分块上传,这意味着文件会被分成小块进行上传,每一块的进度都可以通过AJAX反馈给前端,...

    richfaces中文学习教程

    关于richfaces的一些比较好的资料,希望大家看了能有收获

    JSF+RichFaces(Ajax4jsf)框架示例

    **RichFaces组件**:除了基本的JSF组件外,RichFaces框架提供了许多增强型组件,比如数据网格、滑块、日历、对话框等,这些组件具有内置的AJAX支持,可以在不重新加载整个页面的情况下更新部分视图。在`jsf.jsp`和`...

    jsf中richfaces的jar包及源文件等

    在提供的文件列表中,"QQͼƬ20150429165354.png" 可能是一张图片,可能与JSF或RichFaces的使用示例、教程或者错误排查有关。而"myweb"可能是某个Web项目的文件夹,里面可能包含了使用JSF和RichFaces构建的应用程序...

    richfaces标签学习笔记

    在本文中,我们将深入探讨 RichFaces 标签的使用,特别是 `rich:componentControl` 和 `rich:modalPanel` 标签,以及 `inputNumberSlider` 和 `PanelBar` 组件。RichFaces 是一个功能丰富的 JavaServer Faces (JSF) ...

    JSF2项目XHTML RichFaces AJAX.zip

    在这个商品管理项目中,很可能使用了RichFaces的组件来展示商品列表、处理添加和删除操作,以及在更新商品信息时实现局部刷新。 **AJAX**(Asynchronous JavaScript and XML)是一种创建动态网页的技术,通过在后台...

    RichFaces文档-中文

    - **集成JSF生命周期**:RichFaces完全融入JSF的生命周期,支持在Ajax请求中执行动作和值改变侦听器,以及服务器端的验证和转换。 - **Ajax增强现有JSF应用**:框架提供了Core Ajax和UI两个组件库。Core库可将Ajax...

    richfaces-ui-3.3.GA jar

    4. **3.3 版本**:作为 GA 版本,3.3 版本的 RichFaces 是一个经过广泛测试和验证的稳定版本,适合在生产环境中使用。此版本可能包括性能优化、新特性以及对旧版本问题的修复。 5. **JAR 文件**:Java 应用程序的可...

    richfaces参考文档

    RichFaces 是基于 AJAX 的 JSF 组件库,它允许开发者在不离开服务器端的情况下更新页面的部分内容,从而提高用户体验。它不仅包含了一系列的组件,如数据表、树形结构、日历、图表等,还提供了事件处理、皮肤定制...

    richfaces详细使用

    RichFaces作为一款开源框架,以其强大的Ajax能力、丰富的组件库以及高度可定制的特性,在JavaServer Faces(JSF)环境中独树一帜。本文旨在深入探讨RichFaces的核心功能、组件开发流程以及资源管理和皮肤技术支持,...

    Richfaces组件使用指南

    它提供的Ajax支持是完全集成到JSF生命周期内的,这意味着在处理Ajax请求时,RichFaces可以触发动作监听器、值更改监听器,执行服务器端验证和转换。 RichFaces主要包含两个组件库:Core Ajax和UI库。Core库允许将...

    jboss-richfaces-3.0.0

    RichFaces 3.0.0在设计时就考虑了性能,但实际应用中仍需根据项目需求进行调整。这可能包括优化AJAX请求的频率、减少不必要的组件渲染、合理使用缓存等。 **六、社区与文档支持** RichFaces拥有活跃的开发者社区,...

    Richfaces标签

    在本文中,我们将重点介绍几个常用的Richfaces标签,并通过实例进行讲解。 #### 二、Richfaces标签介绍 ##### 1. `rich:componentControl`标签 `rich:componentControl`标签用于控制其他组件的行为,例如显示或...

Global site tag (gtag.js) - Google Analytics