1.jsp标签和el表达式
(1)什么是jsp标签?
jsp标签用来替换jsp文件中的java代码,
容器遇到jsp标签之后,会依据标签找到
标签类然后执行。
注:
因为直接在jsp当中写java代码,不利于
jsp文件的维护(比如,将包含有java代码
的jsp交给美工去修改就很不方便),所以,
sun才制订了jsp标签技术规范。
使用jsp标签技术,有两大优点:
a.jsp文件维护方便。
b.方便代码的复用。
(2)什么是el表达式?
是一套简单的运算规则,用于给jsp标签的
属性赋值,也可以直接输出。
(3)el表达式的使用
1)访问bean的属性 (a1.jsp)
a.方式一
user.name依次从pageContext,request,session,application中查找绑订名称为”user”的对象,找到该对象之后,会调用该对象的”getName”方法,最后输出该方法的运行结果。注:a1.el表达式会将null转换成“”输出。a2.如果依据绑订名找不到该对象,会输出”“。a3.可以使用pageScope,requestScope,sessionScope,applicationScope来指定查找范围。b.方式二
{user[“name”]}
注:
b1. []里面可以使用绑订名。
b2. []里面可以使用从0开始的
下标,用来访问数组中的某
个元素。
2)做一些简单的运算,运算结果可以用来
给jsp的标签属性赋值,也可以直接输出。
(a2.jsp)
a.算术运算
+,-,*,/,%
注: + 只能求和,不能够连接字符串。
b.关系运算
,>=,<,<=,==,!=
c.逻辑运算
&&,||,!
d.empty运算
empty
用来判断集合是否为空,或者是否是
一个空字符串。
3)读取请求参数值 (a3.jsp)
param.username等价于request.getParameter(“username”); {paramValues.city}
等价于
request.getParameterValues(“city”);
练习
使用el表达式输出员工信息
(4)jstl标签的使用
1)jstl是什么?
(java standard tag lib)
apache公司开发的一套jsp标签,后来捐献
给了sun,sun将其命名为jstl。
2)如何使用?
step1,将jstl相关的jar文件拷贝到
WEB-INF\lib下。
注:
如果使用的是javaee5.0或者以上版本,
一般不用拷贝了。
有些tomcat的版本不带有这个jstl
的jar文件,需要拷贝。
step2,使用taglib指令引入要使用的
标签。
<%@taglib uri=”” prefix=”“%>
uri:指定命名空间(namespace)。
prefix:命名空间的前缀。
3)jstl中的几个核心标签
a.if标签 (c1.jsp)
标签体
当test属性值为true,会执行标签体。
test属性可以使用el表达式来赋值。
var属性:指定绑订名。
scope属性:指定绑订范围,可以
是”page”,”request”,”session”,
“application”。
b.choose标签 (c2.jsp)
when可以出现1次或者多次,当
test属性值为true时,执行标签体
的内容。
otherwise可以出现0次或者1次。
c.forEach标签 (c3.jsp)
用来遍历集合或者数组