日期:2014-05-16  浏览次数:20353 次

JSTL标签总结
STL标签总结
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
1、foreach
示例:
<c:forEach items="${list}" var="item" varStatus="var" begin="0" end="9" step="1">
		<span>获取数据${item.attr}</span>
		<span>获取当前循环索引号${var.index}</span>
		<span>获取成员总数${var.count}</span>
		<span>获取当前成员是否是首位成员${var.first}</span>
		<span>获取末尾成员${var.last}</span>
	</c:forEach>

说明:
items:迭代的列表对象
var:列表中每个对象的变量名
varStatus:循环的状态信息,包括(index ,当前循环索引号 ; count,成员总数;first,当前成员是否首位成员 ;last,当前成员是否末尾成员)
begin:循环的初始索引号
end:循环的结束索引号
step:步长
2、 choose
示例:
<c:choose>
		<c:when test="${url.grade=='DEVELOP'}">开发</c:when>
		<c:when test="${url.grade=='PRODUCT'}">生产</c:when>
		<c:otherwise>测试</c:otherwise>
	</c:choose>

说明:
当test为true时,执行<c:when></c:when>之间的代码,并结束循环,如果所有的test都为false,则执行<c:otherwise></c:otherwise>之间的代码.
3、forTokens
示例:
<c:forTokens var="str" items="${sourceStr}" delims="|," varStatus="status">
		<span>分割后当前索引的字符${str}</span><br/>
		<span>当前的迭代索引${status.index}</span><br/>
		<span>分割后总的字符个数${status.count}</span><br/>
		<span>当前迭代是否为最后一次迭代${status.last}</span><br/>
		<span>当前迭代是否为首次迭代${status.first}</span><br/>
	</c:forTokens>

说明:
items:待分割的对象(数组,字符串,集合类,枚举)
delims:字符串的分割符,可同时有多个分割符(如|,同时分割"|"和",")
4、if
示例
<c:if test="${str}=="str">显示内容</c:if>
说明:
略.
5、url
示例:
<a href="
	  <c:url value="${ctx}/demo/list">
	  <c:param name="appNam" value="test"></c:param>
	  <c:param name="status" value="1"></c:param>
	  </c:url> ">

  跳转页面
</a>
说明:
url标签配合超链接标签有不错的效果。
value:url路径
<c:param>:传递的参数
*例如示例中的url标签将会组合成${ctx}/demo/list?appNam="test"&status="1"的访问路径



jsp:include编译时包含 相当于宏    <%include %>运行时加载,相当于函数,调用返回
jsp页面是把include指令元素(<%@ include file=""%>)所指定的页面的实际内容(也就是代码段)加入到引入它的jsp页面中,合成一个文件后被jsp容器将它转化成servlet。可以看到这时会产生一个临时class文件和一个servlet源文件。而动作元素(<jsp:include page=""/>)是在请求处理阶段引入的,会被JSP容器生成两个临时class文件和两个servlet原文件。而引入的只是servlet的输出结果,即JspWriter对象的输出结果,而不是jsp的源代码。