- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
jsp标签和el表达式及自定义标签
jsp标签和el表达式
1.jsp标签是什么?
jstl : java standard tag lib
因为直接在jsp文件里面写java代码,不方便代码的维护,
(比如,jsp文件给美工去修改就很不方便),所以,
sun公司制订了jsp标签技术规范。
其主要技术思想是利用jsp标签(类似于html标签)来代替java代码,
使用jsp标签来编写jsp文件有三个好处:
jsp文件更简洁
方便jsp文件的维护
jsp标签可以重用
2. el表达式是什么?
el表达式是一套简单的计算规则,用于给jsp标签的属性赋值,
也可以直接用来输出。
访问bean的属性
方式一. ${}
执行过程:容器会依次从pageContext,request,session,application中
查找绑订名为user的对象,找到后,调用getName方法,然后输出。
与直接写java代码相比,e1表达式有两个优点
a. 简洁
b. 会将null转换为输出
属性名不能写错
如果要指定查找范围,可以使用:
${pageS}
${requestS}
${sessionS}
${applicationS}
方式二.
${user[name]}
${user[name]
request.setAttribute(property,name);
${user[property]}
优点:
此种方式允许[]中出现变量,该变量表示一个绑订名。
还可以允许[]里面出现从0开始的下标,用于访问数组中的某个元素的值.
例:${erests[1]}
做一些简单的计算,计算的结果可以直接输出,也可以给jsp标签的属性赋值。
a. 算术运算 +,-,*,/,%
加法操作只能求和,不能连接字符串。
b. 逻辑运算 ,||,!
c. 关系运算 ,=,,=,==,!=
d. empty : 用来判断一个字符串或者一个集合是否为空,为空时结果为true.
${empty str1}判断str1是否为空字符串
${empty list1}判断list1是否为空集合
${empty null}的结果为true
${empty obj}的结果为true
以下四种情况结果为true
空字符串,空的集合,null, 找不到对应的值
获得请求参数值(了解)
${param.username}等价于request.getParameter(username);
${paramValues.city}等价于request.getParameterValues(city);
3. jsp标签
jstl : java standard taglib
a. 编程步骤
step1.将jstl标签对应的jar文件拷贝到WEB-INF下的lib下
jar文件里面存放的是标签类字节码文件
jstl.jar standard.jar
step2.使用taglib指令导入要使用的jsp标签
%@ taglib uri= prefix = c %
uri : jsp标签的命名空间,区分相同的名称,尽可能唯一。
prefix : 命名空间的前缀,用前缀来表示命名空间。
b. 核心标签
1. if标签
c:if test=true 标签体 /c:if
当test属性值为true,容器会执行标签体的内容。
例:
%@ taglib uri=/jsp/jstl/core prefix=c %
c:if test=${user.gender==m} var = rs scope=request 男/c:if
c:if test=$({!rs}女/c:if
var属性:指定一个绑订名称
scope属性:指定绑订的范围
2. choose标签
c:choose
c:when test=/c:when
c:when test=/c:when
c:otherwise/c:otherwise
/c:choose
when表示一个处理分支,当test属性为true会执行该分支。
otherwise表示例外。
when可以出现1次或者多次,otherwise出现0次或者1次.
3. forEach标签
用来遍历一个集合或者数组
文档评论(0)