首页 > Web开发 > 详细

EL & JSTL

时间:2020-02-10 00:39:57      阅读:70      评论:0      收藏:0      [点我收藏+]

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

EL & JSTL

原文:https://www.cnblogs.com/zhuob/p/12289476.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!