javaweb之EL表达式

一、EL表达式
EL:Expression Language的缩写,表达式语言。
基本语法形式:${java表达式}
1、作用:替换掉JSP中的java表达式<%=%>
2、功能:EL表达式不支持字符串连接操作
a、从域中获取数据,并把数据显示在页面上。不会出空指针异常。
${p.name}:
Java:
Person p = pageContext.findAttribute("p");
out.write(p.getName());

.运算符:调用getter方法

[]运算符:
.运算符能做的,它都能做。${p.name}=${p['name']}=${p["name"]}
.运算符不能做的,它也能做(能做不符合java命名规范的数值的获取)。
${list[0]} ${header['Accept-Encoding']}


b、进行简单的数学和逻辑运算
${5/3}===>1
${5%3}===>2
**empty:能判断表达式是否是null或者""字符串(不会忽略首尾空格)。是的话返回true
能判断一个集合中有没有元素。

c、获取web中开发中的常用对象(11大隐式对象)
pageContext:代表javax.servlet.jsp.PageContext对象本身
其余10个都是代表Map类型
pageScope:代表的是一个Map。页面范围的域对象中的Map
requestScope:
sessionScope:
applicationScope:

param:
paramValues:

header:
headerValues:

cookie

initParam:


d、调用普通java类中的静态方法(自定义EL函数)
编写步骤:(自定义标签的步骤相同)
1、编写一个类:定义一个静态方法。
package com.itheima.functions;


public class StringUtil {
public static String toUpperCase(String str){
return str.toUpperCase();
}
public static String connect(String s1,String s2){
return s1+s2;
}
}
2、在WEB-INF目录下建立一个扩展名为tld(Tag Libary Defination)的xml文件。
(EL函数与具体类的方法进行一个映射)(参考Tomcat中的例子)

<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>myfn</short-name>
<uri>http://www.itheima.com/jsp/functions</uri>
<function>
<description>Converts the string to uppercase</description>
<name>toUpperCase</name>
<function-class>com.itheima.functions.StringUtil</function-class>
<function-signature>java.lang.String toUpperCase( java.lang.String )</function-signature>
</function>
<function>
<name>connect</name>
<function-class>com.itheima.functions.StringUtil</function-class>
<function-signature>java.lang.String connect( java.lang.String,java.lang.String )</function-signature>
</function>
</taglib>
3、在web.xml中将tld的实际存放路径与tld中的uri进行绑定(可选的:前提是你把tld文件放到了WEB-INF目录下)
<jsp-config>
<taglib>
<taglib-uri>http://www.itheima.com/jsp/functions</taglib-uri>
<taglib-location>/WEB-INF/myfn.tld</taglib-location>
</taglib>
</jsp-config>
4、在JSP中使用自定义的函数
使用前:通过taglib指令引入<%@ taglib uri="http://www.itheima.com/jsp/functions" prefix="myfn"%>
Tip:
SUN提供的标准的EL函数。全都是与String有关
属于JSTL的一部分:(Java Standard Tag Libary)
core:核心
fmt:格式化
xml:操作xml
sql:操作数据库
functions:EL函数


前提:使用JSTL,导入jar包:jstl.jar standard.jar
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值