struts分页实例

preview
需积分: 0 11 下载量 106 浏览量 更新于2009-05-07 收藏 168KB PPT 举报
Struts 是一个经典的Java Web开发框架,用于构建MVC(模型-视图-控制器)架构的应用程序。在大型Web应用中,数据分页是必不可少的功能,它帮助用户更有效地浏览和管理大量的信息。本篇文章将深入讲解如何在Struts框架中实现分页功能。 我们来看分页实例的核心组成部分: 1. **获取数据和翻页控制对象**:在Action类中,我们需要根据用户的请求参数(如当前页码和每页显示的记录数)来获取数据库中的数据。这通常通过调用业务逻辑层的方法完成。同时,需要创建一个翻页控制对象PageControl,这个对象通常包含当前页、总页数和每页记录数等信息。 ```java int pageNumber=ServletUtilities.getInt("navi_PageNumber",1,request); int recordsPerPage=ServletUtilities.getInt("navi_RecordCount",Constant.NUMBER_PER_PAGE,request); List rlist = rmanage.getComplexResource(cv, searchtype,pageNumber,recordsPerPage); int recordCount = ((Integer)(rlist.get(0))).intValue(); PageControl page = new PageControl(pageNumber, recordCount, recordsPerPage); ``` 2. **显示数据**:在JSP页面上,使用Struts标签库(如`<logic:iterate>`和`<bean:write>`)遍历当前页的数据并显示。例如,可以显示资源名称: ```jsp <logic:iterate id="element" name="rslist" indexId="index" offset="1"> <bean:write name="element" property="name" /> </logic:iterate> ``` 3. **显示翻页控制**:同样在JSP页面上,创建一个表单让用户选择页码,然后提交到服务器。这里通常会使用`<html:form>`和`<html:select>`标签。同时,可以通过插入自定义的JSP片段(如`<tiles:insert>`)来展示分页导航链接。 ```jsp <html:form action="/viewArticle"> <html:select name="navi_pageNumber"> </html:select> </html:form> <tiles:insert page="/tiles/navibar.jsp" /> ``` 4. **处理翻页请求**:当用户提交翻页请求时,ActionServlet会接收到请求,并根据请求参数更新数据和翻页对象,然后将这些信息传递回JSP页面进行渲染。 5. **Struts消息处理**:在操作成功或失败时,Struts提供了一种方式来显示全局消息。在Action中,我们可以使用`ActionMessages`添加消息,并通过`saveMessages`方法保存到请求上下文中。在JSP页面上,使用`<html:messages>`标签来显示这些消息。 ```java ActionMessages messages = new ActionMessages(); messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("view.success")); this.saveMessages(request, messages); ``` 在国际化配置文件(如`ApplicationResources_zh_CN.properties`)中,我们可以为不同的消息定义文本,比如: ``` view.success= 操作成功! ``` 6. **中文字符处理**:在处理中文字符时,可能会遇到编码问题。`Native2ascii`工具可以帮助我们将非ASCII字符转换为适当的格式,以便在属性文件中正确地存储和读取,例如将GBK编码的中文字符转换。 Struts框架提供了丰富的组件和机制,使得实现分页和消息提示等功能变得简单易行。开发者只需要按照MVC模式,合理组织Action、JSP和属性文件,就能构建出功能完善的分页应用。