随笔-26  评论-13  文章-46  trackbacks-0

有人提出了个这个问题,想了半天可以使用fn函数实现
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="arrayvalue" value="0,1,10,15,20" />
<c:set var="delim" value=","/> 
<c:set var="array" value="${fn:split(arrayvalue, delim)}"/>
<table border="1" align="center">
<tr><td>A</td><td>B</td></tr>
<c:forEach var="i" begin="0" end="5">
<tr>
<td><c:out value="${i}"/></td>
<td>
<c:out value="${array[i]}"/>
</tr>
</c:forEach>
</table> 
如果不能使用fn函数就麻烦了

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<% int[] arrayvalue={0,1,5,10,15,88};%>
<table border="1" align="center">
<tr><td>A</td><td>B</td></tr>
<c:forEach var="i" begin="0" end="5">
<tr>
<td><c:out value="${i}"/></td>
<td>
 <% Integer j=(Integer)pageContext.getAttribute("i"); %>
 <%= arrayvalue[j.intValue()] %></td>
</tr>
</c:forEach>
</table>

下面是某位大侠的话,时常看看
会话范围(session scope)
在我的经验中,会话范围要比应用范围用的多。会话范围允许你创建并且将对象绑定到一个会话上面。你必须在session-aware的JSPs中创建绑定在会话的对象并且使在同一个会话中所有的JSP和servlet能够访问到这些对象。会话范围常常用在管理安全验证和管理多个页面的状态信息。绑定在会话范围的对象在不需要的时候也要显示的删除。当我计划将某个类的对象绑定到会话范围的时候我通常会使该类可串行化。 】
请求范围(request scope)
在绑定对象的时候,页面范围我用的最多。此类对象只在同一个请求的页面间有效。在请求处理完成的时候这些对象将会自动的被释放。因而不需要显式的释放它们,这样就没有了使系统被一些不必要内存消耗而拖累的危险。
页面范围(page scope)
当你创建只对当前页面相关的对象的时候你需要选择页面范围。和请求范围一样,绑定在页面范围的对象不要显式的删除。我很少在我的JSP应用中使用“页面范围”,但是这是的默认范围。

posted on 2006-04-05 13:11 似水流年 阅读(3216) 评论(0)  编辑  收藏 所属分类: JSP/Servlet

只有注册用户登录后才能发表评论。


网站导航: