EL
JSTL
EL
为了保EL表达式正常使用,需要在<%@page 标签里加上isELignored="false"
取值
例子:'${name}'
EL表达式可以从pageContext,request,session,application四个作用域中取到值
优先级顺序:pageContext>request>session>application
访问JavaBean属性
JavaBean
1.提供无参public构造方法(默认构造)
2.每个属性,都有public 的 setter 和getter
3.如果属性是boolean,那么就对应is和setter方法
<% Hero hero =new Hero(); hero.setName("盖伦"); hero.setHp(616); request.setAttribute("hero", hero); %> 英雄名字 : ${hero.name} <br> 英雄血量 : ${hero.hp}
取参数
http://127.0.0.1/jstl.jsp?name=abc ${param.name}
进行条件判断
${killNumber ge 10?"超神":"还没超神"} 例子中讲的是大于等于,除此之外的其他用法如下: eq相等 ne、neq不相等, gt大于, lt小于 gt大于, lt小于 gte、ge大于等于 lte、le 小于等于 not非 mod求模 is [not] div by是否能被某数整除 is [not] even是否为偶数 is [not] odd是否为奇
JSTL
需要导入jstl.jar 和 standard.jarw
使用core前需要通过指令设置
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
设置值,取值
<c:set var="name" value="${'gareen'}" scope="request"/> 设置request中的name属性为gareen <c:out value="${name}"/> 打印name属性 <c:remove var="name" scope="request"> 删除name属性 作用域是pageContext,request,session,application
if else
<c:set var="hp" value="${10}" scope="request" /> <c:if test="${hp<5}"> <p>这个英雄要挂了</p> </c:if> <c:if test="${!(hp<5)}"> <p>这个英雄觉得自己还可以再抢救抢救</p> </c:if> <% pageContext.setAttribute("weapon", null); pageContext.setAttribute("lastwords", ""); pageContext.setAttribute("items", new ArrayList()); %> <c:if test="${empty weapon}"> <p>没有装备武器</p> </c:if> <c:if test="${empty lastwords}"> <p>挂了也没有遗言</p> </c:if> <c:if test="${empty items}"> <p>物品栏为空</p> </c:if>
forEach
<c:forEach items="${heros}" var="hero" varStatus="st" > items="${heros}" 表示遍历的集合 var="hero" 表示把每一个集合中的元素放在hero上 varStatus="st" 表示遍历的状态 <!-- 使用JSTL中的c:forEach 循环来遍历List --> <table width="200px" align="center" border="1" cellspacing="0"> <tr> <td>编号</td> <td>英雄</td> </tr> <c:forEach items="${heros}" var="hero" varStatus="st" > <tr> <td><c:out value="${st.count}" /></td> <td><c:out value="${hero}" /></td> </tr> </c:forEach> </table>
fmt:formatNumber格式化数字
使用fmt之前要加上标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix='fmt' %> <fmt:formatNumber type="number" value="${money}" minFractionDigits="2"/> <fmt:formatNumber 表示格式化数字 minFractionDigits 小数点至少要有的位数 maxFractionDigits 小数点最多能有的位数
fmt:formatDate格式化日期
<fmt:formatDate value="${now}" pattern="G yyyy年MM月dd日 E"/> <fmt:formatDate value="${now}" pattern="a HH:mm:ss.S z"/> <fmt:formatDate value="${now}" pattern="yyyy-MM-dd HH:mm:ss"/> <fmt:formatDate 表示格式化日期 yyyy 表示年份 MM 表示月份 dd 表示日期 E 表示星期几 a 表示是上午还是下午 HH 表示小时 mm 表示分钟 ss 表示秒 S 表示毫秒 z 表示时区
fn:
转自 file:///E:/how2j_offline_2019.01.01/k/jsp/jsp-jstl/578.html#nowhere
来源:https://www.cnblogs.com/zhuob/p/12289476.html