el表达式
${ 值 }
${ pageContextScope.key}
${ requestScope.key}
${ sessionScope.key}
${ applicationScope.key}
${key}默认取值 pageContext ->request ->session ->application
//取值
${requestScope.name}
${sessionScope.name}
${applicationScope.name}
${sessionScope.array[0]}
${sessionScope.list[1]}
${sessionScope.lists[3].stu_id}
//el中的对象
getParameter("name");------>${param.name}
pageContext.getAttribute("name")------>${pageScope.name};
request.getAttribute("name")------>${requestScope.name}
session.getAttribute("name")------>${sessionScope.name};
application.getAttribute("name")------>${applicationSope.name}
jstl 标签库
由四个定制标签库(core(c)、format(fmt)、function(fn),xml(xml) 和 sql(数据库操作))和一对通用标记库验证器(ScriptFreeTLV 和 PermittedTaglibsTLV)组成。
//使用jstl标签库时,首先应该导入标签库,如
//c:核心标签库,包括输入,输出,控制语句,导入,导出,重定向
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
//fmt:格式化标签库:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
//fun:函数标签库,length,截取子字符串
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fun" %>
//sql:数据库标签库,对sql语句进行操作
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
//xml:映射文件标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>
//遍历
<c:forEach items="" 集合 begin="1"开始 step="2"整数,自增方式,end="9" varStatus="v">
v对象:
index:下标
count:次数
first:判断是否为第一
last:判断是否为最后
</c:forEach>
<c:forEach items="${array}" var="arr">
${arr}
</c:forEach>
<c:forEach items="${list}" var="list" varStatus="v">
${v.count}-${v.index}-${v.last}-${v.first}-${list}
</c:forEach>
<c:forEach items="${lists}" var="lists">
${lists.stu_id}
</c:forEach>
//if判断
<c:if test="${param.n>60}" 条件表达式 var="b" scope="p/r/s/a">
${b}及格
</c:if>
<c:if test="${array[0]>1}">
sssssssssss
</c:if>
//设置值
<c:set var="s" 属性名称 value="中国" scope="" 属性范围 ></c:set>
<c:set target="${p}" property="id" value="2"></c:set>
<c:set scope="request" value="是是是" var="name1"></c:set>
//jstl声明对象:
<jsp:useBean id="s" class="com.it.bean.Student" scope="request"></jsp:useBean>
<jsp:setProperty property="name" name="s" value="admin"></jsp:setProperty>
<jsp:getProperty property="name" name="s"></jsp:getProperty>
${requestScope.s.name}
//移除值
定义变量:<c:set var="salary" scope="session" value="200"></c:set>
删除前:<c:out value="${salary}"></c:out>
移除值 <c:remove var="salary"></c:remove>
删除后:<c:out value="${salary}"></c:out>
<c:remove var="name1"/>
${requestScope.name1}
//重定向
<c:redirect url="1.jsp"></c:redirect>
//选择
<c:choose>
<c:when test="${param.n>90}">
成绩优秀
</c:when>
<c:when test="${param.n>80}">
成绩中等
</c:when>
c:otherwise>
成绩不及格
</c:otherwise>
</c:choose>
//分割
<c:forTokens items="s-w-w-e-t-y" delims="-" var="v">
${v}
</c:forTokens><br>
//获取时间
<fmt:formatDate value="${time}"></fmt:formatDate>
<fmt:formatDate value="${isoDate}" type="both">
<fmt:formatDate value="${date}" type="date">
<fmt:formatDate value="${isoDate}" type="time">
<fmt:formatDate value="${isoDate}" type="date" dateStyle="default">
<fmt:formatDate value="${isoDate}" type="date" dateStyle="short">
<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium">
<fmt:formatDate value="${isoDate}" type="date" dateStyle="long">
<fmt:formatDate value="${isoDate}" type="date" dateStyle="full">
<fmt:formatDate value="${isoDate}" type="time" timeStyle="default">
<fmt:formatDate value="${isoDate}" type="both" pattern="EEEE,MMMM d, yyyy HH:mm:ss Z'">
<fmt:formatDate value="${isoDate}" type="both" pattern="d,MMMM yy, h:m:s a zzzz">
//函数,函数标签放在el表达式中使用
${fn:subString("hellword",5,9)}
${fn:length(st)}
//mysql配置数据源:
<sql:setDataSource driver=“com.microsoft.jdbc.sqlserver.SQLServerDriver”
url=“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=”
user=“sa” password=“123”/>
//SQL语句
<sql:query sql=“select * from test” var=“result” />
//遍历SQL行列
<c:forEach items=“${result.rows}” var=“row”>
${row.id}
${row.name}
</c:forEach>