无脚本的JSP总结

1.1 EL表达式和JSP脚本表达式

EL表达式形式: ${ }

${person.userName}     ${userName}

JSP表达式形式:<%= userName%>

一个<div>元素的style属性的代码:

JSP表达式设置: 1 < div style =<%=mystyle% > >hello </ div >

EL表达式设置: 1 < div style =${mystyle} > hello </ div >

EL表达式不能在脚本中定义变量

JSP中定义一个变量,只需要用<%! int num=10%>

num的值:<%=num%>   值为10;

num的值:${num}     返回一个未定义的值;

1.2在EL表达式中使用隐式变量

类别

隐式变量名

描述

JSP

pageContext

用来访问JSP的隐式对象

作用域

pageScope

与page作用域属性的名称和值相关联的 Map 类

requestScope

与request作用域属性的名称和值相关联的 Map 类

sessionScope

与session作用域属性的名称和值相关联的 Map 类

applicationScope

与application作用域属性的名称和值相关联的 Map 类

请求参数

param

包含请求参数字符串的Map 类

paramValues

包含请求参数字符串数组( String[])的 Map 类

请求头

header

包含请求头字符串的 Map 类

headerValues

包含请求头字符串数组(String[])的 Map 类

Cookie

cookie

按名称存储请求附带的 cookie 的 Map 类

注意:pageScope,requestScope,sessionScope,applicationScope这些变量并没有直接赋予我们在EL中直接访问真正的page,ServletRequset,HttpSession以及ServeltContext的权利,他们返回的只是一个分别与page作用域,request作用域,session作用域,application作用域有关的属性名和值的Map对象。

当容器解析EL表达式中的变量时,例如${x}中的x,容器首先检查隐式变量。如果隐式变量中找不到x,他将依次查找page,request,session,application范围的属性,如果还找不到x,则返回null。

1.3 EL运算符

运算符可以分为四类:属性和集合访问运算符,算术运算符,关系运算符,逻辑运算符。

1.3.1用于访问属性和集合的EL运算符

属性访问运算符是我们可以访问对象的成员,集合访问运算符可以返回Map,List 或Array中的元素。

1.3.2 EL算数,关系,逻辑运算符

1.3.2.1 算术运算符就是加减乘除取模;

1.3.2.2 关系运算符

1.3.2.3 逻辑运算符

1.3.2.4 其他

empty运算符:检查对象是否为null(空)

二元表达式:${user!=null?user.name :""}

1.4 函数

EL函数使用起来比较复杂,但是他为JSP提供了完全的业务逻辑和表现逻辑分离。

使用EL函数的步骤

–方法类(.java):包含需要在JSP中使用的Java方法;

–标记库描述文件(*.tld):映射每个Java方法到XML函数名;

–部署描述文件(web.xml):映射TLD到标记库URI

JSP页面(*.jsp):使用标记库URI和函数名调用方法

二 JSP自定义标记库与标准标记库JSTL

 JSTL(JSP标准标准库,JavaServlet Page Standard Tag Liabary )

jstl规范是SUN JCP指定的一个官方java规范请求(JSR).

JSTL标准标记库

功能范围

作用

URI

前缀

核心(core)

一般用途处理的标记

http://java.sun.com/jsp/jstl/core

c

xml

解析、选择、转换XML数据的标记

http://java.sun.com/jsp/jstl/xml

x

数据库(sql)

访问关系型数据库的标记

http://java.sun.com/jsp/jstl/sql

sql

国际化(I18N)

为国际化应用格式化数据的标记

http://java.sun.com/jsp/jstl/fmt

fmt

函数(Functions)

处理字符串和集合的标记

http://java.sun.com/jsp/jstl/functions

fn

我们最常用的是核心标记库。

为了给JSP提供JSTL能力,我们需要两个JAR文件。第一个文件是jstl.jar,他为JSTL标记库提供API类。

第二个文件是standard.jar,他提供了标记库的实现类。我们需要把这两个文件复制到我们自己的应用程序的WEB-INF下的lib目录。

我们需要在JSP中通过taglib指令引用标记库。

1 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
2.3.1 JSTL条件处理
2.3.2 循环

1 <c:if> <c:choose>条件处理

2 <c:forEach> <c:forTokens> 循环

2.4 用JSTL访问URL信息

2.4.1 <c:url> 重写URL并对其参数编码

2.4.2 <c:import> 访问Web应用程序之外的内容

2.4.3 <c:redirect> 重定向到不同的URL




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值