JSTL是建立在JSP上的某种自定义操作(Custom Actions)或定义标签(Custom Tags),表面上看起来他只是JSP一个插件,但事实上它也可以算是一种新的用于构件动态Web页的语言。
Core标签库:
1、通用标签:
<c: out>用于表达式的结果输出到当前的JspWriter对象中。
<c:set>用于设置JSP页面的各种域范围中的变量。
<c:remove>标签用于移除JSP页面中指定域范围中的变量。
<c:catch>标签用来捕获嵌在标签体内的内容抛出异常对象,将异常信息保存在变量中;
2、条件标签:
<c:if> 标签用来作条件判断,功能类似于JSP中的<%if(boolean){}%>。
<c:choose>标签用于提供条件选择的上下文,必须与<c:when><c:otherwise> 一起使用。可构成复杂的”if-else-else”条件判断。
3、迭代标签:
<c:forEach>标签用于对包含多个对象的集合进行迭代,重复执行他的标签体,或者重复迭代固定的次数;属性有:var,items,varStatus,begin,end,step等,语法请参照“标签控制页面2“
<c:forTokens>标签是用来浏览一字符串中所有的成员,其成员是有定义符(delimiters)所分隔。
用法:
<body>
forTokens遍历字符串:
<c:forTokens items=”bzc,ljs|wy|fsa”delims=”,||” var=”item”>
<c:out values=’ ${item}’/>
</c: forTokens >
<br>
<c:forTokens items=(bzc ljs fsa)—(hh)” delims=”()” var=”item”>
<c:out values=’ ${item}’/>
</c: forTokens >
<br>
执行结果是:forTokens遍历字符串:bzc ljs wy fsa
forTokens遍历字符串:bzc ljs fsa—hh
4、URL相关的标签:
<c:import>资源的内容可以作为String对象、Reader对象导出;属性有:url,context,scope,charEncoding,varReader等;该标签属于Core标签库中的标签,在使用前需引入Core标签声明。
<c:url>标签在JSP页面构造一个URL,提供三个元素;他们可以在URL前面附加当前Servlet上下文的名称;可以为会话管理重写URL;可以对请求名称和值进行URL编码。
<c:redirct>标签用于向用户的浏览器发送HTTP重定向,是JSTL中与javax.servlet.http.HttpServletResponse的sendRedirect()方法功能相关的标记。
1、无标签体:<c:redirect url=”value” [context=”context”]/>
2、有标签体:<c:redirect url=”value” [context=”context”]/>
<c:parm>subtages
</c:redirect>
<c:parm >标签的作用是为一个URL添加请求参数;
1、 在属性中添加指定的属性值:
<c:parm name=”name” value=”value” />
2、在标签体中添加指定参数:
<c:parm value=”value” >
Parameter value
</c:param>