logic:iterate嵌套EL分页的问题

nihao620 2008-06-14 04:54:59
<code=HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<%@ page contentType="text/html;charset=utf-8" language="java"
pageEncoding="utf-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-bean"
prefix="bean"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-logic"
prefix="logic"%>
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
<%@ page import="java.util.*"%>


<c:set var="pageSize" value="2" />
<c:set var="pageBegin" value="${param.pageBegin}" />
<c:set var="pageEnd" value="${param.pageBegin+pageSize-1}" />
<html>
<body>
<%
List l = new ArrayList(5);
l.add("1");
l.add("2");
l.add("3");
l.add("4");
l.add("5");

request.setAttribute("list", l);
%>
<bean:size id="listSize" name="list" />
<c:if test="${(pageBegin-pageSize) ge 0}">
<a
href='<c:url value="test.do">
<c:param name="pageBegin" value="${pageBegin-pageSize}"></c:param>
</c:url>'>
<bean:message key="previous" /> </a>
</c:if>
<c:if test="${(listSize gt pageSize) and (pageEnd lt listSize)}">
<a
href='<c:url value="test.do">
<c:param name="pageBegin" value="${pageBegin+pageSize}"></c:param>
</c:url>'>
<bean:message key="next" /> </a>
</c:if>
<c:out value="start:" />
<br />
<logic:iterate id="s" name="list" offset="${pageBegin}"
length="${pageSize}">
<bean:write name="s"></bean:write>
<br />
</logic:iterate>
</body>
</html>
</code>
这里<logic:iterate id="s" name="list" offset="${pageBegin}" length="${pageSize}">的offset和length的值没有读出来是怎么回事呀?好奇怪啊!
...全文
247 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nihao620 2008-06-14
  • 打赏
  • 举报
回复
pageBegin 虽然是空的
但是打印的pageEnd不是空啊,是一个数值

而且我为了保证
我把
<c:set var="pageBegin" value="${param.pageBegin}" />
改成了
<c:choose>
<c:when test="${empty param.pageBegin}">
<c:set var="pageBegin" value="0" />
</c:when>
<c:otherwise>
<c:set var="pageBegin" value="${param.pageBegin}" />
</c:otherwise>
</c:choose>
还是不对啊

我感觉是不是logic:iterate无法嵌套EL的问题啊
yzsunlight 2008-06-14
  • 打赏
  • 举报
回复
既然 ${pageBegin} 打印为空
那你在这里指定一个scope属性看看可能存的时候就有问题
<c:set var="pageBegin" value="${param.pageBegin}" />
<c:set var="pageEnd" value="${param.pageBegin+pageSize-1}" />
nihao620 2008-06-14
  • 打赏
  • 举报
回复
可是这也不对啊,我把<logic:iterate id="s" name="list" offset="${pageBegin}" length="${pageSize}">这里面的offset="${pageBegin}"改成offset="0"也还是打印的1 2 3 4 5呀,本该打印1 2的呀
nihao620 2008-06-14
  • 打赏
  • 举报
回复
${pageBegin}在页面上是空的啊
yzsunlight 2008-06-14
  • 打赏
  • 举报
回复
${pageBegin} 看看有没有值在页面上去打印一下

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧