EL和JSTL

本文介绍了EL(表达式语言)和JSTL(Java Server Page Standard Tag Library)在Java Web开发中的使用。EL简化了页面中的代码,用于获取作用域中的内容,如变量、对象属性、集合元素等。JSTL则是标准标签库,包含核心标签库和I18N格式标签库,用于输入输出、流程控制、格式化数据等任务。文章详细讲解了EL的表达式语法、作用域访问,以及JSTL中的核心标签库如`<c:set>`、`<c:out>`、`<fmt:formatNumber>`和`<fmt:formatDate>`的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、EL表达式

        EL(Expression Language),表达式语言,是包含在 JAVA EE平台中的其中一种技术,主要的目的是为了能够 简化开发者在页面中的一些代码。特点是非常简洁,易 懂。

2、EL表达式的使用

语法:${ }

包含内容:

通过变量名取值 ${变量}

        获取对象的属性值 ${对象名.属性名}

        获取集合元素 ${对象名.size()}

        //调用方法 ${对象名[索引]}

        //获取集合中索引的值 ${map集合对象名["key"]}

        //获取到map 集合中的key所应的value 执行表达式

        //算数运算 ${ + - * / %}

         /:可以使用div来替代

         %:可以使用mod方式替代

        //逻辑运算符 &&(and) ||(or) !(not)

        关系运算符 >(gt) =(ge) <=(le) !=(ne) ==(eq)

        empty运算符 empty:代表判断元素是否为null或者是是否 包含元素

        not empty:代表代表判断元素是否不为null 或者是是否不包含元素

3、获取作用域中的内容以及参数的内容和页面的内容

4、 作用域的访问对象

        4.1作用域的访问对象

正常情况下,在使用EL表达式时,需要在表达式 中添加对应的作用域,如果我没有书写作用域访 问对象,EL表达式会在四大作用域中由小到大依次查找,如果都查不到就会返回null,并在控制台输出空白。

        4.2参数访问对象

 param相当于是在页面中调用了 request.getParameter("")来获取参数中的内 容。

paramValues相当于在页面中调用了 request.getParameterValues("")来获取同名对 象的多个值,返回一个数组类型

        4.3JSP隐式对象

        可以通过pageContext对象获取到该对象中的某 个值,同时还可以获取到页面中衍生出的各类内 置对象,例如可以通过 pageContext.request.contextPath获取到当前 项目的上下文路径。

5、JSTL

        JSTL(Java Server Page Standard Tag Library),标 准标签库。是为了能够提高JAVA WEB开发的效率以及维 护性。

在JSTL中包括两种常用标签库内容:

1、核心标签:核心标签库是整个JSTL中最常用的部 分,主要由以下几部分组成:基本输入输出、流 程控制、迭代操作和URL操作。负责Web应用的 常见工作,如:循环、表达式赋值、基本输入输 出等。

2、I18N格式标签库:用来格式化显示数据的工作 如:对不同区域的日期格式化等。

5、1核心标签库

输入输出

步骤1:导入jstl的依赖

 步骤2:在使用该库的页面中添加指令

 步骤3:使用标签库

<c:set target="${userinfo}" property="username" value="zhangsan" />

将一个对象中的属性进行修改

target:代表要修改的对象

property:要修改的对象中的属性

value:要修改的属性值

步骤4:输出内容

<c:out value="${num}" default="10">

value:代表要输出的内容,如果直接 写了内容,就会按照普通输出的方式显示在 页面上 default;如果没有找到对应的变量, 就会采用default作为值输出

删除属性

<c:remove var="变量" />

条件标签

 if表达式是没有else的相关操作的,如果需要 多层判断,则需要多写一些if的语法

 循环控制

 

 

 

 

 格式化

 1、数字格式化

显示:$12.00
<fmt:formatNumber value="12" type="currency" pattern="$.00"/>  <br/>
显示:$12.0
<fmt:formatNumber value="12" type="currency" pattern="$.#"/> <br/>
¥12.0
<fmt:formatNumber value="12" type="currency" pattern="¥.00"/> <br/>
12.00元
<fmt:formatNumber value="12" type="currency" pattern="#0.00元"/> <br/>
¥12.00
<fmt:formatNumber value="12" type="currency"/>  (那个货币的符号和当前web服务器的 local 设定有关)<br/>

123456.79
<fmt:formatNumber value="123456.7891" pattern="#0.00"/>  <br/>
123,456.79
<fmt:formatNumber value="123456.7891" pattern="#,#00.00"/> <br/>
 .79
<fmt:formatNumber value="0.7891" pattern="#.00"/>  <br/>
12.34%
<fmt:formatNumber value="0.1234" type="percent" pattern="#0.00%"/><br/>
1,200%
<fmt:formatNumber value="12" type="percent"  /><br/>
1200.00%
<fmt:formatNumber value="12" type="percent" pattern="#0.00%"/><br/>
2、时间格式化

<h3>日期格式化:</h3>
<c:set var="now" value="<%=new java.util.Date()%>" />


<p>日期格式化 (1): <fmt:formatDate type="time" 
            value="${now}" /></p>
<p>日期格式化 (2): <fmt:formatDate type="date" 
            value="${now}" /></p>
<p>日期格式化 (3): <fmt:formatDate type="both" 
            value="${now}" /></p>
<p>日期格式化 (4): <fmt:formatDate type="both" 
            dateStyle="short" timeStyle="short" 
            value="${now}" /></p>
<p>日期格式化 (5): <fmt:formatDate type="both" 
            dateStyle="medium" timeStyle="medium" 
            value="${now}" /></p>
<p>日期格式化 (6): <fmt:formatDate type="both" 
            dateStyle="long" timeStyle="long" 
            value="${now}" /></p>
<p>日期格式化 (7): <fmt:formatDate pattern="yyyy-MM-dd" 
            value="${now}" /></p>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值