EL和JSTL

来源:互联网 发布:head first java 编辑:程序博客网 时间:2024/06/11 23:42

1.EL表达式的作用是什么?

作用:可以简化对变量和对象的访问.

2.EL表达式输出的数据来自于哪里?

    数据来自于page,request,session,application中的对象

3.EL表达式如何只从session作用域中获取数据?

    使用sessionScope表示:session范围的作用域

4.JSTL标准标签库的作用是什么?

    作用:简化JSP页面设计的标签

5.JSTL核心标签库中有哪些常用标签

    其中属性scope(存储范围,默认为page)

5.1:<c:set></c:set>用于在某范围中声明变量并赋值

   Eg:<c:set var=”name” value=”菲儿” scope=”session”></c:set>

    在session范围中设置变量name的值为“菲儿”

    Eg: <c:set var=”age” scope=”page”>22</c:set>

    在page范围中设置变量age的值为22

    设置变量的两种方式:a用value属性赋值。b在标签中赋值

5.2<c:out></c:out>用于将范围内的变量进行输出

   Eg:<c:out value=”${name}”>与上面的例子使用结合

5.3<c:remove></c:remove>用于将变量从范围内移除

    Eg:<c:set var=”name” scope=”session”>菲儿</c:set>

<c:remove var=”name” scope=”session” />

5.4<c:if>与java中if功能相同,属性有test(条件语句)var(执行结果)scope(存储范围,默认为page)

5.5<c:choose><c:when>和<c:otherwise>标签,一起实现语言中的if/else,在<c:choose>标签中只能出现<c:when>(相当于if else)<c:when>(相当于else)

5.6<c:forEach></c:forEach>迭代标签

    属性            描述

   Var             存储当前迭代元素的变量名

    Items           被迭代的数组或者集合

   varStatus       迭代对象的变量名

   begin           指定迭代开始索引,默认为0

    end             指定迭代结束的索引

    step            输出数据间隔几个输出一次

5.7<fmt:formatNumber>

属性            描述

   value           要格式化的值

type            要按照什么类型格式化,默认为number,货币currency,百分比

                为Percent

    pattern         自定义格式化样式

    currencyCode    iSO4217货币代码,只适用与格式化货币,其他格式化

   currencySymbol  货币符号,如$,¥

    Var             存储当前迭代元素的变量名

    scope           存储范围名称,默认为page

    groupingUsed    是否采用分组方式输出

   maxIntegerDigits    指定格式化输出的整数部分的最大数字位数

    minIntegerDigits    指定格式化输出的整数部分的最小数字位数

    maxFractionDigits   指定格式化输出的小数部分的最大数字位数

    minFractionDigits   指定格式化输出的小数部分的最小数字位数

 

5.7<fmt:formatDate>

属性            描述

   value           要格式化的日期或时间,类型为java.util.Date

type            指定value中的日期部分或者时间部分要进行格式化还是全部进行格式化,值为time,date,both,默认为date

dateStyle           日期的预定义格式化样式,default,short,medium.long,full默认为defalut

timeStyle           时间的预定义格式化样式,default,short,medium.long,full默认为defalut

 

   pattern         自定义格式化时间或者日期样式

    timeZone        使用时区

    Var             存储当前迭代元素的变量名

    scope           存储范围名称,默认为page

6.使用jstl格式化标签将3.85格式化成货币格式,保留两位小数

    <fmt:formatNumbervalue="3.85" type="currency"  maxFractionDigits="2">

</fmt:formatNumber>

7.使用jstl格式化标签将当前日期格式化为yyyy-MM-dd HH:mm:ss格式

    <fmt:formatDatevalue="<%=new Date() %>" pattern="yyyy-MM-ddHH:mm:ss"/>