`
li2005
  • 浏览: 38591 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

richfaces 的信息提示(尽可能多的方式)

    博客分类:
  • jsf
阅读更多
  大家如果有什么好的方法,分享出来哦

  jsf 本身很强大,很多功能都实现了,程序员只需要调用它的组件,BUT虽然jsf有很多组件,有时的确不满足当前需求,比如信息提示,下面列出最常用的3种。
  1)直接alert (简单了吧,嘿嘿)
  2)用模态窗口来输出信息 (这个有点难)
  3)在页面的一个专门的div用ajax来输出信息
 
  jsf从后台传给前台的信息有两种方式,在本文中用第二种方式
  a)先把信息设置到jsf的Bean中,再在jsf页面中用el取出来就是
  b)用jsf的message组件
后台
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("保存成功"));

页面
<rich:messages ></rich:messages>

  好了,现在开始用richfaces来实现信息提示
  通过自己的理解加g.cn 加 baidu.com 其实richfaces里用alert是最难的,所以把alert放在最后吧,倒是2),3)实现起来比较方便
  1)先来模态窗口

  首先是userBean
@ManagedBean(name = "userBean")
@SessionScoped
public class UserBean implements Serializable {
	private String name;
	private String password;
	
	public void login(ActionEvent event){
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(name + " login 成功"));
	}
	
	public String getName() {
		return name;
	}

	public void setName(String newValue) {
		name = newValue;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String newValue) {
		password = newValue;
	}
}

  然后是页面
   <body>
	<rich:modalPanel id="messagePanel" width="350" height="100" >
        <f:facet name="header">
            <h:panelGroup>
                <h:outputText value="Modal Panel"></h:outputText>
            </h:panelGroup>
        </f:facet>
        <f:facet name="controls">
            <h:panelGroup>
                <h:graphicImage value="/images/close.png" styleClass="hidelink" id="hidelink"/>
                <rich:componentControl for="messagePanel" attachTo="hidelink" operation="hide" event="onclick"/>
            </h:panelGroup>
        </f:facet>
				<h:panelGroup >
					<rich:messages ></rich:messages>
				</h:panelGroup>									
    </rich:modalPanel> 	   
      <h:form>
         <h3>Please enter your name and password.</h3>   
         <table>
            <tr>
               <td>Name:</td>
               <td><h:inputText value="#{userBean.name}"/></td>
            </tr>
            <tr>
               <td>Password:</td>
            </tr>
         </table>
         <p><a4j:commandButton value="Login" actionListener="#{userBean.login}" reRender="messagePanel" oncomplete="#{rich:component('messagePanel')}.show()"></a4j:commandButton></p>
      </h:form>
   </body>

效果图如下



  but如果每个按钮都写oncomplete="#{rich:component('messagePanel')}.show()"成这样就太复杂了所以就有了升级版
 
   <body>
   <h:panelGroup id="messageGroup" >
		<rich:modalPanel id="messagePanel" width="350" height="100" showWhenRendered="true" rendered="#{!empty facesContext.maximumSeverity}"> 
	        <f:facet name="header">
	            <h:panelGroup>
	                <h:outputText value="Modal Panel"></h:outputText>
	            </h:panelGroup>
	        </f:facet>
	        <f:facet name="controls">
	            <h:panelGroup>
	                <h:graphicImage value="/images/close.png" styleClass="hidelink" id="hidelink"/>
	                <rich:componentControl for="messagePanel" attachTo="hidelink" operation="hide" event="onclick"/>
	            </h:panelGroup>
	        </f:facet>
					<h:panelGroup >
						<rich:messages ></rich:messages>
					</h:panelGroup>									
	    </rich:modalPanel> 	 
    </h:panelGroup>  
      <h:form>
         <h3>Please enter your name and password.</h3>   
         <table>
            <tr>
               <td>Name:</td>
               <td><h:inputText value="#{userBean.name}"/></td>
            </tr>
            <tr>
               <td>Password:</td>
            </tr>
         </table>
         <p><a4j:commandButton value="Login" actionListener="#{userBean.login}" reRender="messageGroup" ></a4j:commandButton></p>
      </h:form>
   </body>
  

  2)专门的div用ajax来输出信息,这个在richfaces里简直是太简单了
 
   <body>
      <h:form>
         <h3>Please enter your name and password.</h3>   
         <table>
            <tr>
               <td>Name:</td>
               <td><h:inputText value="#{userBean.name}"/></td>
            </tr>
            <tr>
               <td>Password:</td>
            </tr>
         </table>
         <p><a4j:commandButton value="ajaxLogin" actionListener="#{userBean.login}"  ></a4j:commandButton></p>
         <h:panelGroup >
			<rich:messages ></rich:messages>
		</h:panelGroup>		
      </h:form>
   </body>
  

  效果图为


先就写到这吧有时间了再写
  • 大小: 13.1 KB
  • 大小: 9.2 KB
1
0
分享到:
评论
3 楼 yuanliyin 2011-10-08  
备注一下下
2 楼 li2005 2011-08-17  
我用的是JSF2.0,你得确认你的bean是不是在JSF容器里头
ella110727 写道
挺清楚的。可是FacesContext这个方法没法调用呢?why?

我用的是JSF2.0,你得确认你的bean是不是在JSF容器里头
1 楼 ella110727 2011-07-28  
挺清楚的。可是FacesContext这个方法没法调用呢?why?

相关推荐

    Richfaces标签

    ### Richfaces标签详解 #### 一、概述 Richfaces是一个基于JavaServer Faces(JSF)技术的开源框架,提供了一套丰富的用户界面组件库。这些组件不仅具备强大的功能,还能很好地支持AJAX交互,极大地提高了Web应用...

    Richfaces ShowCase离线包

    **Richfaces ShowCase离线包** 是一个专为开发者设计的资源包,它包含了Richfaces框架的演示示例,能够帮助用户在没有网络连接的情况下也能深入理解和学习Richfaces的功能和用法。这个离线包特别适合那些需要在本地...

    richfaces标签学习笔记

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

    richfaces4.0所需jar包

    在RichFaces中,Guava可能被用于提供高效的缓存、多线程支持和其他高级数据结构。 3. **richfaces-core-impl-4.0.0.Final.jar**:这是RichFaces核心实现的库,包含了许多基础服务和功能,如事件处理、Ajax支持、...

    richfaces中文开发文档

    在每个阶段,RichFaces都会插入其特有的Ajax处理逻辑,使得部分页面更新成为可能。 **五、学习和使用指南** 由于"richfaces中文开发文档"是纯中文的,对于维护老项目或者初学者来说非常友好。文档应该包含了组件的...

    richfaces(里面包含JAR包)

    标题特别提到“里面包含JAR包”,意味着这是一个包含了RichFaces运行所需的库文件的压缩包,可能包含了多个JAR文件,供开发者在项目中引用。 **描述解析:** 描述中提到,这些JAR包是针对"tomcat5+Eclipse"环境的,...

    richfaces详细使用

    ### RichFaces框架详解及其在IT行业的应用 #### 引言 在现代Web开发领域,提升用户体验和优化交互性是至关重要的。RichFaces作为一款开源框架,以其强大的Ajax能力、丰富的组件库以及高度可定制的特性,在Java...

    richfaces-ui-3.2.1

    这些库包含了RichFaces的组件库、AJAX引擎、以及其他依赖的库,如JSF API和实现、以及可能的第三方库。开发者在项目中引用这些JARs,就可以在他们的应用中使用RichFaces的功能。 总的来说,RichFaces UI 3.2.1是...

    richfaces参考文档

    1. **AJAX 支持**:RichFaces 使用 A4J (Ajax for Java) 技术,允许开发者通过简单的声明式或编程方式实现页面局部更新,减少页面重载,提升响应速度。 2. **组件库**:包括各种富组件,如数据表(DataTable)、...

    richfaces中文学习教程

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

    RichFaces 3.3 帮助文档(英文)

    ### RichFaces 3.3 帮助文档关键知识点概览 #### 一、简介 - **RichFaces框架概述:** RichFaces是一个基于JavaServer Faces(JSF)的开源组件库,提供了大量的富客户端组件以及对皮肤的支持。该文档详细介绍了如何...

    richfaces-3.0.0

    这个标签可能用于分类或搜索,方便其他开发者找到与 RichFaces 相关的信息和技术资源。 **压缩包子文件的文件名称列表:** "jboss-richfaces-3.0.0-src" 暗示这是一个包含 RichFaces 3.0.0 版本源代码的压缩包。源...

    Richfaces组件使用指南

    RichFaces是一个开源框架,专注于将Ajax功能无缝集成到JavaServer Faces(JSF)应用程序中,无需依赖JavaScript。这个框架充分利用了JSF的生命周期、验证、转换工具以及资源管理功能。它提供的Ajax支持是完全集成到...

    RichFaces4.5 JavaApi JSApi

    RichFaces 4.5 是一个强大的JavaServer Faces (JSF) 框架的扩展库,专为构建富互联网应用程序(Rich Internet Applications, RIA)而设计。这个库提供了丰富的组件集,以及对JavaScript(JS)和Java API的支持,使得...

    richfaces开发指南(英文版)

    - **支持的服务器**:RichFaces可在多个应用服务器上运行,如Tomcat、Jetty、WebLogic、WebSphere等。选择适合你项目需求的服务器。 - **支持的浏览器**:为了确保广泛的用户支持,RichFaces通常会支持最新及前几代...

    jsf/RichFaces组件

    RichFaces组件简介,复合组件,日期控件,Ajax标签, 轻松实现。RichFaces组件简介,复合组件,日期控件,Ajax标签, 轻松实现。RichFaces组件简介,复合组件,日期控件,Ajax标签, 轻松实现。

    richfaces3.2用户手册的pdf版

    ### RichFaces 3.2 用户手册知识点概览 #### 一、引言 RichFaces 3.2 是一款强大的框架,提供了丰富的组件库以及可定制化的皮肤支持,它旨在简化Web应用程序的开发过程,尤其在JavaServer Faces (JSF) 技术的基础...

    RichFaces_3.3.3标签库手册

    RichFaces_3.3.3_TLD.chm

Global site tag (gtag.js) - Google Analytics