Jstl 使用简介
一、 配置说明
1、 在应用中引入两个 jar 包: standard.jar 、 jstl-1.0.2.jar
2、 引入 tld : c.tld
3、 在 web.xml 中配置标签
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/c.tld</taglib-location>
</taglib>
4、 配置完上面三步后,就可以在页面中引入 jstl 标签了,引入方法:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
二、 el( Expression Language ) 表达式计算
1、 数值计算
EL Expression | Result |
${1} | 1 |
${1 + 2} | 3 |
${1.2 + 2.3} | 3.5 |
${1.2E4 + 1.4} | 12001.4 |
${-4 - 2} | -6 |
${21 * 2} | 42 |
${3/4} | 0.75 |
${3 div 4} | 0.75 |
${3/0} | Infinity |
${10%4} | 2 |
${10 mod 4} | 2 |
${(1==2) ? 3 : 4} | 4 |
2、 bean 属性计算
注:有效范围指的是 application 、 session 、 request 、 page
${imb.multiple == '2'} :
计算有效范围内 imb 对象的属性 multiple 的值是否等于 2, 如果等于 2 则返回 true, 否则返回 false
${users}:
返回有效范围内名为 ”users” 的值,该值可以是任何对象,如:
request.setAttribute(“users”,new ArrayList()); 这样得到的就是一个集合 .
三、 部分标签使用说明
1 、 <c:out>
[ 说明 ]
输出值,相当于 struts 中的 <bean:write>
[ 举例 ]
获得 request 中的属性: <c:out value="${requestScope.test_all}"/>
获得 session 中的属性: <c:out value="${sessionScope.test_all}"/>
获得 application 中的属性: <c:out value="${applicationScope.test}"/>
2 、 <c:forEach>
[ 说明 ]
循环某个范围内的一个集合(可以是 Collection 、 Set 、 List 、 Array 等)
items---- 表示要循环的集合
var--- 表示当前集合中的某条记录,可以对它进行访问
[ 举例 ]
<%
Collection users = new ArrayList();
for(int i = 0;i<5;i++){
UserInfo user = new UserInfo();
user.setUser("user"+i);
user.setPwd("pwd"+i);
user.setAge(20+i);
users.add(user);
}
session.setAttribuate("users",users);
%>
<table>
<tr>
<td>用户名:</td>
<td>密码:</td>
<td>年龄:</td>
</tr>
</table>
<c:foreach var="user" intm="&{users}">
<tr>
<td><c:out value="&{user.user}"/></td>
<td><c:out value="&{user.pwd}"/></td>
<td><c:out value="&{user.age}"/></td>
</tr>
</c:foreach>
3 、 <c:if>
[ 说明 ]
逻辑判断
[ 举例 ]
< c:if test = " ${imb.hmtb.typeid == 4}">
< c:if test = " ${imb.multiple == '2'}">(10,270)</c:if>
< c:if test = " ${imb.multiple == '1'}">(10,290)</c:if>
</ c:if >
4 、 <c:set>
[ 说明 ]
设置不同的属性,并且指定它们的范围
[ 举例 ]
<c:set value="10000" var="maxUser" scope="application"/>
<c:set value="20" var="maxIdelTime" scope="session"/>
<c:set value="next.jsp" var="nextPage" scope="request"/>
相当于:
application.setAttribute(“maxUser”,”10000”);
session.setAttribute(“maxIdelTime”,”20”);
request.setAttribute(“nextPage”,”next.jsp”);