JSTL和EL表达式的简单应用

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>

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值