jstl核心库

来源:互联网 发布:route add linux 编辑:程序博客网 时间:2024/06/03 19:19

使用前需导入标签库:

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

1.表达式控制标签

1)out:

输出常量:

<c:out value="你好"></c:out>

输出变量:

<c:out value="${name }"  default="error"></c:out>  //若不存在name的值,则输出error(可选属性)<c:out value="&gt"  escapeXml="false"></c:out>     //设置是否转义,默认为true,不转义(可选属性)

2)set:

存值到scope中(两种方式):

<c:set value="20" var="age" scope="session"></c:set><c:set var="age" scope="session">20</c:set>

存值到Javabean的属性中(两种方式):

<jsp:useBean id="user" class="com.nic.entity.User"></jsp:useBean><c:set target="${user}" property="name" value="zhangsan"></c:set><c:set target="${user}" property="address">山东</c:set>

3)remove:

<c:remove var="name"/>  //scope是要删除变量的范围(可选参数)

4)catch:

捕获任何Throwable,发生在它的身上,有选择地公开。简单地用于错误处理,更优雅地处理这个问题。

<c:catch var ="catchException">   <% int x = 5/0;%></c:catch><c:if test = "${catchException != null}">   <p>The exception is : ${catchException} <br />   There is an exception: ${catchException.message}</p></c:if>

2.流程控制标签

1)if:

test内的表达式为true时,显示主体内容
其中,var属性(条件结果的变量名)和scope属性(条件结果的作用范围)是可选的

<c:if test="${3>2 }" var="result" >    <c:out value="${result}"></c:out></c:if>

2)choose:

用法类似于switch——case——default,也可以不使用<c:otherwise>

<c:choose>    <c:when test="">     .....    </c:when>    <c:when test="">     ....    </c:when>    <c:otherwise>     ....    </c:otherwise></c:choose>

3.循环标签

1)forEach:

<c:forEach var="book" items="bookList">    <c:out value="${book}"></c:out></c:forEach>

可以通过添加begin和end属性进行部分遍历,属性值为遍历区间的下标
可以通过添加step属性设置遍历的步长

2)forTokens:

该标签除了有类似<c:forEach>的属性,还有一个额外的属性delims指定要使用的字符作为分隔符。

//打印出通过分隔符"-"分割得到的三个num<c:forTokens items="400-888888-123" delims="-" var="num">    <c:out value="${num}"></c:out><br></c:forTokens>

4.URL操作标签

1)import:

导入网络上的绝对路径:

<c:import url="http://www.baidu.com" ></c:import>

导入相对路径文件:

<c:import url="test.txt" ></c:import>

由于可能网络中断导致抛出异常,所以常常把import标签放在catch标签里

2)url:

格式化成一个字符串格式的URL,并将其存储到变量中。这个标签会在必要时自动执行URL重写。 var属性指定的变量将包含格式化的URL。
URL标记提供的唯一的真正的优势是正确的URL编码,包括子param标签指定的任何参数。

<c:if test="${1<2}">     <c:set var="partUrl">temp.jsp</c:set></c:if><c:url value="http://localhost:8080/Test/${partUrl}" var="newUrl" scope="session"></c:url><a href="${newUrl}">New URL</a>

3)redirect:

该标签用来实现请求的重定向,同时可以在url中加入指定的参数
url属性指定重定向页面的地址,可以是一个string类型的绝对地址或相对地址
context属性用于导入其他web应用中的页面

<c:redirect url="firstDemo.jsp">   <c:param name="username">zhangsan</c:param>   <c:param name="password">123</c:param></c:redirect>
原创粉丝点击