EL表达式----JSP11个隐式对象----EL函数----JSTL核心标签if,foreach

一、EL表达式
语法:${EL表达式}
特点:永远没有空指针异常。如果对象是null,输出空字符串
      只适合显示数据
原理:${p}
pageContext.findAttribute("p");
实际上EL表达式是从域中搜索该对象


1、作用:替换掉JSP中的java表达式,即替换掉<%=表达式%>
它属于JSP技术
2、获取数据
a.b:调用a对象的getB()方法
根据索引获取数组和List中的指定位置上的元素。索引从0开始
根据key的值,获取Map中的value


不能够获取set中的元素,只能靠遍历。


3、执行简单的算术和逻辑运算
empty运算符:判断对象是否为null,字符串是否为"",集合中有没有元素。
   集合对象本身不是null,但其中如果没有任何元素,也是空。


EL不支持字符串连接操作
三元运算符


.和[]运算符:有些情况下通用。
.能做到的,[]都能做到。[]能做到的,.不一定能做到


[]能做到名称不符合java命名规范的取值

 比如:${user.name}或者${user['name']}单引号或双引号

4、获取web开发常用的对象
11个隐式对象
pageContext:作用和JSP中的内置对象一样。代表javax.servlet.jsp.PageCOntext对象本身

pageScope:代表PageContext中的那个域Map
requestScope:代表ServletRequest中的那个域Map
sessionScope:代表HttpSession中的那个域Map
applicationScope:代表ServletContext中的那个域Map


param:保存了所有请求参数的Map对象.key:参数名,value:参数值
paramValues:保存了所有请求参数的Map对象。key:参数名,value:参数值数组


header:保存了所有请求消息头的Map对象。key:头名称,value:头值
headerValues:保存了所有请求消息头的Map对象。key:头名称,value:头值数组


cookie:保存了所有cookie的Map对象:key:cookie对象的name,value:Cookie对象本身


initParam:保存了所有全局配置初始化参数的Map。key:参数名称,value:参数值
 web.xml   context-param标签


5、调用java静态方法


编写步骤:
1、编写一个类,定义一个静态方法
package com.itheima;


public class SomeClass {
public static String method(String value){
return value.toUpperCase();
}
}
2、在WEB-INF目录下建立一个扩展名为tld的xml文件。
(参考:C:\apache-tomcat-6.0.35\webapps\examples\WEB-INF\jsp2\jsp2-example-taglib.tld)
<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/myfn</uri>
<function>
<description>To uppercase</description>
<name>method</name>
<function-class>com.itheima.SomeClass</function-class>
<!-- 方法签名,出了基本类型,都要写全名:包名+类名 -->
<function-signature>java.lang.String method( java.lang.String )</function-signature>
</function>
</taglib>
3、(如果把tld文件放在了WEB-INF根目录下,该步骤是可选的)
在web.xml中将tld的uri和实际的tld文件进行配对
<jsp-config>
<taglib>
<taglib-uri>http://www.itheima.com/jsp/myfn</taglib-uri>
<taglib-location>/WEB-INF/myfn.tld</taglib-location>
</taglib>
</jsp-config>
4、在JSP中使用
<%@ taglib uri="http://www.itheima.com/jsp/myfn" prefix="myfn"%>
${myfn:method("abcdee") }
二、JSTL:Java Standard Tag Libary
1、Core:核心标签 
c:if
作用:java中if语句
属性:
test:必须的。支持表达式(EL和Java表达式),返回值必须是boolean
test值为true,则显示标签主体内容

var:存test运算结果的变量
scope:存变量的域。page|request|session|application
默认是page


c:forEach
作用:遍历
属性:
items:要遍历的集合或数组
var:指定引用当前元素的名称
begin:开始索引
end:结束索引
step:步长
varStatus:取一个名称引用一个对象
getIndex():索引
getCount():序号
isLast():是否是最后一个
isFirst():是否是第一个




2、Fmt:格式化,国际化有关
3、XML:操作XML有关
4、SQL:操作数据库
5、function:EL函数


使用jstl,必须导入响应的jar
jstl.jar standard.jar

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值