使用ajax4jsf来处理JSF table
下面是一个使用ajax风格的JSF table,有ajax来出来table的翻页和插入删除.
JSP Page Coding
<!--Data Table:-->
<h:dataTable id="cityList" value="#{cityBean.cities}" var="clist" rows="10"
first="#{cityBean.offset}" border="2" width="200px" rules="all">
<h:column>
<h:outputText value="#{clist}" />
</h:column>
</h:dataTable>
<!--AJAX-based Pagination Links-->
<h:panelGroup style="display:block">
<a4j:commandLink value="Previous.. " action="#{cityBean.prevAction}"
reRender="cityList"></a4j:commandLink>
<a4j:commandLink value=" Next.." action="#{cityBean.nextAction}"
reRender="cityList"></a4j:commandLink>
</h:panelGroup>
<!--AJAX-based Add/Remove Buttons-->
<h:panelGroup style="display:block">
<a4j:commandButton value="Add Town" action="#{cityBean.addTown}"
reRender="cityList,statusmessage"></a4j:commandButton>
<a4j:commandButton value="Delete Town" action="#{cityBean.deleteTown}"
reRender="cityList,statusmessage"></a4j:commandButton>
</h:panelGroup>
data bable每次将从cityBean的list中取10条数据显示. a4j:CommandLinks 中的 Next and PrevAction 来处理页面导航. Add and DeleteTown actions来处理列出的内容.
Java Code
...
public void prevAction(){
if (getOffset() > 9){
setOffset(getOffset() - 10);
}
}
public void nextAction(){
if (getOffset() < getCities().size() - 9){
setOffset(getOffset() + 10);
}
}
public void addTown() {
if (!this.cities.contains(cityName)){
this.cities.add(cityName);
Collections.sort(cities);
this.statusMessage = "The Town Succesfully Added, Table Was Sorted";
}else{
this.statusMessage = "This Town Is Already In Table";
}
}
public void deleteTown(){
if (cities.contains(this.cityName)){
this.cities.remove(this.cityName);
this.statusMessage = "The Town Succesfully Removed";
}else{
this.statusMessage = "Town Does Not Exist";
}
}
...
所以,你可以实现一个可以排序,更新的ajax mode的table,而不用写任何js代码.仅仅记得当调用完action时要从新渲染table就可以了.
分享到:
相关推荐
例如,当用户在表单中输入信息并提交时,JSF可以使用AJAX来验证输入,即时反馈错误,而不必跳转到新的页面。 【JSF与Hibernate集成】 JSF和Hibernate的集成通常用于构建数据驱动的Web应用。通过使用JSF的 Managed ...
如果打算在 JSF 应用中集成 Ajax 功能,建议使用 Facelets 视图处理技术。Facelets 能够支持 XHTML 页面格式,这对于实现 Ajax 功能至关重要。确保页面遵循 XHTML 标准,以免出现不必要的问题。 #### 十一、使用 ...
开发者可以使用注解如 `@Entity`、`@Table`、`@Id` 等来定义实体类,并通过 EntityManager 进行 CRUD(创建、读取、更新和删除)操作。 5. **依赖注入**:JSF 1.2 和 EJB 3.0 都支持依赖注入(DI),通过注解 `@...
在本教程中,我们将深入探讨如何使用PrimeFaces库来实现对表格数据的增删改查功能。 首先,`JSF`(JavaServer Faces)是Java平台上的一个MVC(Model-View-Controller)框架,用于构建动态、数据驱动的Web应用。它...
- **基于模板的描述**:使用模板来描述Renderer或UI Component树,使得页面布局更清晰易懂。 - **元数据表示**:模板被转换为“Layout Element”树(元数据),便于管理和处理。 - **UI Component树的创建**:...
根据提供的文件信息,我们可以深入探讨JSF(JavaServer Faces)技术及其相关标签的使用方法。以下是对该文档中提到的一些关键知识点的详细解读。 ### JSF 标签使用参考手册 #### 文档概述 该文档名为《JSF 标签...
它使用A4J(Ajax for JSF)库,允许开发者实现部分页面更新,提高用户体验。例如,`<a4j:support>`标签可以关联到JSF组件,实现异步事件处理。 3. **皮肤和主题**: RichFaces提供了多种皮肤和主题,允许开发者...
总的来说,“UploadDataList.rar_Table”这个组件涵盖了文件上传、服务器端处理、前端展示以及用户交互等多个方面的知识点。具体到`UploadDataList.java`的代码实现,可能包括了文件I/O操作、数据持久化、HTTP请求...
例如,使用`$(table).DataTable()`插件可以快速创建带有高级功能的数据表。 5. JavaBeans和Model-View-Controller(MVC)模式 数据通常存储在数据库中,JavaBeans是一种简单封装数据的对象,可以作为模型层(Model...
3. **事件处理**:ICEfaces 使用JSF事件模型,允许开发者自定义组件间的事件传递和处理。 4. **客户端状态管理**:ICEfaces 可以选择性地将组件状态保留在客户端,减少服务器端的压力。 5. **集成JavaScript库**:...
4. **启用Facelets**:为了更好地利用RichFaces组件,推荐使用Facelets作为视图技术,这需要在`web.xml`中进行配置。 #### 集成Facelets Facelets是JSF推荐的视图技术之一,它可以简化HTML模板的编写,并允许更...
- **创建表**:指导如何使用CREATE TABLE语句来定义新的表格。 - **Oracle里的数据字典**:介绍Oracle数据库中用于存储元数据的对象,帮助理解数据库的结构。 - **控制数据**:介绍如何使用权限管理功能来控制对...
在IT行业中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理、动画制作以及Ajax交互。本文将深入探讨如何使用jQuery技术实现表格中奇数行和偶数行的换色效果,以提高数据可读性。这个功能...
在开发过程中,开发者需要对JSF生命周期、AJAX请求处理、以及数据绑定有深入理解,以便有效地利用`richfaces`的特性。 总结起来,`richfaces3.3.1`为构建交互性极强的Web应用提供了强大的工具。通过`...
4. 使用Java后端代码处理组件的事件和数据。 **最佳实践** 1. 合理规划和组织组件,避免不必要的性能开销。 2. 利用PrimeFaces的缓存机制来提高性能。 3. 保持与最新版本同步,以获取最新的功能和安全修复。 通过...
- **ADF选择JSF的原因**:ADF(Application Development Framework)之所以选择JSF(JavaServer Faces)作为其前端技术栈的一部分,主要是因为JSF提供了一套强大的用户界面组件库以及一套易于使用的模型视图控制器...
- **AJAX支持**:JSP 2.1通过JSF和Facelets支持AJAX,提供更丰富的用户界面交互。 **4. JSR 175 - 注解(Annotations)** J2EE 5.0广泛使用注解,提供了元数据的新方法,使得代码更简洁,减少了XML配置。例如,@...
1. **数据表的动态加载**:利用RichFaces的AjaxTable组件,可以实现数据的分页和动态加载,提高大型数据集的显示效率。 2. **组件的异步更新**:通过Ajax行为事件,可以实现按钮点击后只更新特定的UI区域,而不是...
JSF 1.2引入了更多的UI组件,增强了Ajax支持,以及对Faces Config XML配置文件的改进。 3. JPA 1.0:Java Persistence API (JPA) 1.0是JavaEE 5.0中的对象关系映射标准,用于处理数据库操作。JPA允许开发者使用面向...