这几天比较郁闷,项目页面用JSF组件展现,朋友的功能中需要循环展示一个div,引用了c标签forEach循环输出,forEach比较讨厌的会多次调用items方法访问数据库。在网上看到一个巧妙的做法,在方法上加了一个判断,现在记录如下:
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> //导入的是JSTL 1.1 core Library
......
<table>
<tr>
<th>Item Name</th>
</tr>
<c:forEach items="#{Backbean.showKind}" var="k"> //item=List类型
<tr>
<td><h:outputText value="#{k.nowsum}" /><td>
</tr>
</c:forEach>
</table>
......
bean:
//用forEach循环中控制控件,会多次调用 items 方法访问数据库,所以需定义一个判断.
public List getShowKind() {
if (null==showKind){
//...得到showKind的业务逻辑
}
return showKind;
}
分享到:
相关推荐
可以使用循环遍历结果集,并用`<c:forEach>`标签在`JSTL`(JavaServer Pages Standard Tag Library)中进行迭代。 6. **生成翻页链接**:在页面底部创建一个导航栏,展示页码链接。需要考虑首页、末页、前一页和...
在JSP页面中,我们通常使用JSP标准动作标签(如`<jsp:useBean>`、`<jsp:setProperty>`等)或者JSTL标签库(如`<c:forEach>`)来处理数据。然而,当标准标签无法满足特定需求时,我们可以自定义标签来扩展其功能。在...
4. **使用JSTL进行渲染**:在JSP页面中,我们可以使用JSTL的`<c:forEach>`标签遍历查询结果,并将其展示出来。同时,还需要提供上一页、下一页、跳转到指定页等链接,这可以通过条件判断和循环来实现。 以下是一个...
这可能涉及到数据库查询,返回一个表示菜单层次结构的数据对象,例如JSON。 2. 在JSP页面中,使用`c:forEach`遍历菜单数据,为每个菜单项生成HTML元素。如果菜单有子项,可以通过`c:if`判断并在适当的位置插入子...
`<c:choose>`包含一个或多个`<c:when>`标签来定义不同的情况,以及可选的`<c:otherwise>`标签来处理所有其他情况。 示例: ```jsp <c:choose> <c:when test="${condition1}"> <!-- 执行相应代码 --> </c:when...
2. **可重用性**:JSTL标签可以被多次重复使用在不同的页面中,提高了代码的复用率。 3. **简化JSP**:通过使用JSTL,可以减少JSP页面中的脚本元素,使页面更符合MVC(Model-View-Controller)设计模式。 JSTL的...
- **增强可复用性**: JSTL标签可以被多次复用,提高代码的复用率。 - **更好的性能**: JSTL标签在服务器端编译成Java代码,执行效率相对EL(Expression Language)更高。 **3. JSTL的引入与配置** 在项目中使用...
JSTL的`<c:forEach>`标签用于遍历查询结果,`<c:set>`标签用于设置变量,如当前页码和总页数。同时,我们需要在JSP页面中传递用户请求的页码参数,这可以通过`request.getParameter()`方法实现。 Servlet在这里的...
使用`<c:forEach>`标签遍历JavaBean中存储的当前页数据,然后在页面上展示。例如: ```jsp <c:forEach items="${pagination.data}" var="item"> <!-- Display item details here --> </c:forEach> ``` 5. **...
实际开发中,可能还需要考虑更多的细节,比如错误处理、优化性能(如预计算总页数、避免多次查询等),以及适应不同浏览器和设备的响应式设计。对于"fenye"这个文件名,很可能是分页功能的源代码或者示例,进一步...
3. **重用**:JSTL标签可以被多次重用,降低了代码重复。 4. **减少错误**:与Java脚本相比,JSTL标签更少的语法错误和更少的潜在运行时异常。 5. **更好的性能**:JSTL标签在服务器端被编译成Java代码,执行效率...
JSTL(JavaServer Pages Standard Tag Library)是一组用于JSP的标准标签库,其中`c:forEach`和`fmt:formatNumber`等标签常用于数据遍历和格式化。在分页展示时,我们可以用`c:url`和`c:param`创建分页链接,`c:...
4. JSP内置对象和标签库(JSTL):通过PageContext对象的getAttribute()和setAttribute()方法传递分页参数,使用c:forEach标签遍历数据。 四、JSP分页示例 ```jsp <%@ taglib prefix="c" uri=...
- **获取当前页数据**:根据用户请求的页码,从数据库中查询对应范围的数据。 - **传递参数**:将总页数和当前页数据通过请求对象传递到JSP页面。 - **JSP渲染**:在JSP页面中,使用`<c:forEach>`等JSTL标签遍历...
4. 数据展示:在JSP页面上,使用`<c:forEach>`标签遍历从后台传来的数据,并进行展示。`<c:forEach>`是JSTL(JavaServer Pages Standard Tag Library)的一部分,用于简化循环结构的代码。 5. 页码导航:创建页码...
【JavaWeb分页技术详解】 ...综上所述,JavaWeb中的分页实现涉及到数据库查询、Servlet处理、以及JSP页面展示等多个环节。理解这些知识点,并将其应用到“软院找人”的项目中,将帮助你构建出一个完整的分页系统。
使用LIMIT和OFFSET或者RowNum函数(根据不同的数据库系统)进行分页查询,可以避免一次性加载大量数据,提高性能。同时,根据用户当前页数动态调整查询范围,进一步减少不必要的数据传输。 5. **分页参数传递:** ...
在处理大量数据时,分页是一种常见的优化手段,能够有效地提升用户体验,避免一次性加载过多数据导致页面响应慢或者内存压力大。本篇文章将详细介绍如何在Struts框架中实现分页功能。 分页的基本思想是将大量数据...
- `<c:forEach>`:进行迭代,适用于数组、集合、Map等。 - `<c:set>`:设置变量。 - `<c:remove>`:删除变量。 - `<c:out>`:安全地输出数据,防止XSS攻击。 - `<c:url>`和`<c:param>`:创建和管理URL及参数。 **EL...
综上所述,JSP查询分页涉及到数据库查询、服务器端逻辑处理以及前端展示等多个环节。理解并掌握这些技术,能帮助我们构建高效、友好的Web应用。在实际开发中,应根据项目需求和性能考虑选择合适的方法和优化策略。