最近,真是忙的有点焦头烂额啊!虽然项目的一期已经接近尾声啦,可今天加一点功能,明天又要修改一个bug,搞的我真是郁闷啊!我就搞不懂啦,那些领导们在做需求分析的时候是怎么想的?他们没有考虑到这些后续的功能吗?大家都知道,添加与修改功能模块,要比开发功能模块麻烦很多,即费时又费力。后来一想,其实也不能怪他们,很多情况都是客户提出的要求,没办法,谁让你拿了人家的money了呢!这不,刚刚下来指示,在做页面提交成功后,要加提示信息。于是,开始加功能,我在做代码修改的时候,发现了一个小技巧,现在写出来和大家一起分享一下吧!
大家都知道,JAVA是解释型语言(如:Basic),但严格来说,它是在解释型与编译型语言之间,因为它要先编译撑class字节码文件,然后才能运行。这里就不详细讨论啦,可以去google查相关的资料。下面用一个具体的例子来说明吧!在一个表单页提交成功后,会跳转到列表页,显示成功操作信息,且在5秒钟后消失。整个过程其实很简单,因为我是用JSF做框架,页面的导航是由JSF的配置文件来控制的,我用一个infoBean来存放提示信息,为了与pageBean分离并重用。当我把infoBean的scope设为“request”时,一般情况下是没有问题的。
不过我的页面导航是加了“重定向”的,至于理由,请看我的一篇“在JSF中的页面导航问题”,上面已经解释的很清楚啦。这样,我在列表页就接收不到表单的成功提示信息啦,所以就只好把scope改为“session”啦,不过这样做的结果是,每次我都要做清除提示信息的动作。这样做很麻烦,因为会有很多类似的提示信息。我想了好久,都没有想到一个很好的解决方法。后来在同事的启示下,才把这个问题解决。方法是:在获取列表集合之前(如:ArrayList),做提示信息的清除动作,代码如下(红色部分):
public ArrayList<Archives> getArchivesBrowse() {
InfoBean infoBean = (InfoBean) Utils.getPageBean("#{infoBean}");
infoBean.setSuccessInfo(" "); //清除提交到列表页的提示信息
archivesList = archivesService.searchArchivesListData(this);
return archivesList;
}
有些朋友会觉得奇怪,既然被清除啦,页面怎么会显示出来呢?开始我也不能理解,后来才明白,这归功与JAVA的语言类型(解释型),因为是先显示提示信息,然后才获取列表的数据。就是说,在执行getArchivesBrowse() 方法之前,页面已经通过infoBean.getSuccessInfo()方法得到值, 并显示到页面啦。这样做的好处是,不用跟踪提示信息,并做清除处理啦。哈哈!简单吧!
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kevin_chengzf/archive/2007/03/24/1539606.aspx
分享到:
相关推荐
在JSF中,**组件** 是UI的基础元素,如按钮、文本输入框等。这些组件可以通过XML(Facelets)或JSP页面进行声明,并且可以组合成更复杂的视图结构。**Facelets** 是JSF推荐的视图定义语言,它比JSP更强大,更易于...
7. **转换和验证**:JSF允许在接收和显示数据时进行转换和验证。转换用于将用户输入的数据转化为应用程序所需的格式,验证则确保数据符合预定义的规则。 8. **国际化和本地化**:JSF支持多语言环境,开发者可以通过...
在"JSF开发-学生信息管理系统"中,我们可以深入理解JSF的核心概念以及如何应用它们来构建一个实用的信息管理应用。 1. **JSF组件库**: JSF的核心是其组件模型,包括输入字段、按钮、表格、图表等。这些组件可以像...
1. **请求参数传递**:这是最基本的传递方式,通过在URL中添加查询参数或者在表单提交时包含参数。例如,你可以使用`<h:inputText value="#{bean.property}" />`这样的组件来获取用户的输入,并将其自动绑定到后台...
EL是一种简洁的脚本语言,用于在JSF中获取和设置Managed Beans的属性值。它允许在JSF视图中直接引用后台Bean的属性,简化了数据绑定的过程。 **6. 视图和导航** JSF的视图通常由Facelets文件(.xhtml)组成,它们...
此外,**FacesContext** 是JSF框架的核心上下文对象,它在JSF组件之间传递信息,并提供与请求、响应、会话和应用程序范围的数据访问。而**Managed Beans** 则是JSF中用于存储业务逻辑和状态的对象,它们可以被自动...
5. **国际化支持**:JSF支持多语言,这在“JSF中文使用教程”中可能包含如何设置和使用中文资源的内容。 **学习JSF的关键概念**: 1. **Facelet**:Facelets是JSF的默认视图技术,用于创建和组织用户界面组件。 2. ...
在JSF中,UI组件(View)可以直接映射到后端的数据源(Model),并可以通过事件处理(Controller)进行交互。这使得开发者可以更专注于业务逻辑,而无需过多关注底层的HTTP通信细节。 首先,JSF的组件库是其一大...
在这个员工信息系统中,EJB组件可能被用来处理员工的增删改查、权限管理、工资计算等业务逻辑,而JSF则负责用户界面的展示和交互。EJB bean可以通过JNDI(Java Naming and Directory Interface)在JSF中查找并调用,...
在这个系统中,我们可能需要定义一个方法来获取当前页的数据,并在页面上显示相应的分页控制。 4. **批量删除** 批量删除通常涉及到多选和确认操作。JSF提供了`h:selectMany`系列组件来实现多选,用户可以选择多个...
在JavaServer Faces (JSF)框架中,分页是一种常用的技术,用于处理大量数据时提供更好的用户体验。当数据集过大,一次性加载所有记录到页面上会导致性能下降且用户界面响应变慢。通过分页,我们可以将数据分成多个...
例如,在我们的“Login”例子中,可能会有`h:inputText`(文本输入)和`h:commandButton`(提交按钮)等组件。 4. **Managed Beans**:在JSF中,Managed Beans是Java对象,用于存储数据和实现业务逻辑。它们与JSF...
这一步骤确保了组件的当前值反映了客户端提交的信息。 3. **处理验证(Process Validation)**:在这一阶段,JSF会对每个组件的值进行验证。验证器可以在faces-config.xml或通过注解定义,确保用户输入符合预设的...
在这个过程中,JSF框架负责管理组件状态,处理用户事件,并与后端业务逻辑进行交互。 JSF提供了一种声明式编程模型,允许开发者通过XML配置文件(如faces-config.xml)来定义组件、导航规则和转换验证规则。此外,...
在JSF中,用户登录界面是常见的功能模块,用于验证用户的身份。下面将详细讲解如何在JSF中创建一个用户登录界面。 1. **JSF架构简述** JSF是一种组件化的MVC(Model-View-Controller)框架,它提供了丰富的UI组件...
在JavaServer Faces (JSF)框架中,实现全选功能通常是通过使用BooleanCheckbox组件来完成的。这篇博客文章“JSF中使用BooleanCheckbox实现全选功能”可能详细讲解了如何利用这种组件在用户界面中创建一个可以勾选的...
Ajax4JSF(Ajax for JavaServer Faces)是一个开源框架,专为JavaServer Faces(JSF)应用程序添加Ajax功能。这个框架使得开发者无需编写JavaScript...如果你在JSF开发过程中遇到问题,可以在中国的JSF论坛上寻求帮助。
在IT行业中,JavaScript框架(JSF,JavaServer Faces)是一种广泛应用的用于构建Web应用程序的UI层技术。这篇博文“JSF中文问题解决方法完整版”提供了关于如何处理JSF框架在处理中文字符时可能出现的问题的解决方案...
在本文中,我们将深入探讨如何在NetBeans IDE中开发基于JavaServer Faces (JSF)的应用。JSF是一种Java EE框架,专门设计用于构建Web应用程序的用户界面组件。它提供了一个模型-视图-控制器(MVC)架构,使得开发者...