1.
库:Core(核心库)
前缀:c
描述:标签是一个最常用的标签,用于在JSP中显示数据。它的作用是用来替代通过JSP内置对象out或者标签来输出对象的值。
语法:
没有Body时的语法
有Body时的语法
这里是Body部分
属性:属性名描述类型是否接受动态值是否支持EL是否
必须默认值说明
value需要显示的值ObjectYYY无用来定义需要求解的表达式。
escapeXml是否转换特殊字符booleanYYNtrue用于指定在使用标记输出诸如“”、“’”、“””和“&”之类的字符(在HTML和XML中具有特殊意义)时是否应该进行转义。如果将escapeXml设置为true,则会自动的进行编码处理。
default缺省值ObjectYYN无当求解后的表达式为null或者String为空时将打印这个缺省值。
Null和错误说明
假若value为null,会显示default的值;假若没有设定default的值,则会显示一个空的字符串。
实例:
------------------------------------------------------------------------------------------------------------------------------------------
Example1
该示例将从Session查找名为“anyValue”的参数,并显示在页面,若没有找到则显示“no value”。
------------------------------------------------------------------------------------------------------------------------------------------
Example2
您的用户名是:
显示用户的用户名,如为空则显示guest
指定从session中获取username的值显示;
显示username的值,默认是从request(page)中取,如果request中没有名为username的对象则从session中取,session中没有则从application(servletContext)中取,如果没有取到任何值则不显示
------------------------------------------------------------------------------------------------------------------------------------------
2.
库:Core(核心库)
前缀:c
描述:标签用于为变量或JavaBean中的变量属性赋值的工作。这个标签用于在某个范围(page、request、session、application等)中使用某个名字设定特定的值,或者设定某个已经存在的javabean对象的属性。他类似于
语法:
语法1: 没有body
将value的值存储至范围为scope的varName变量之中
语法2: 有body
将body内容存储至范围为scope的varName变量之中
body.....
语法3: 将value的值存储至target对象属性中
语法4: 将body内容的数据存储至target对象属性中
body....
ØNull 和 错误处理:
语法3和语法4会产生异常错误,有以下两种情况:
.target 为null
.target 不是java.util.Map或JavaBean对象
假若value为null时:将由存储变量改为移除变量
.语法1: 由var和scope所定义的变量,将被移除
.若scope已指定时,则PageContext.removeAttribute(varName,scope);
.若scope未指定时,则PageContext.removeAttribute(varName);
.语法3:
.假若target为Map时,则Map.remove(property);
.假若target为JavaBean时,propertye指定的属性为null
注意: var和scope这两个属性不能使用表达式来表示,我们不能写成 scope="${ourScope}"或var="${a}"
属性:属性名描述类型是否接受动态值是否支持EL是否
必须默认值说明
value要被存储的值ObjecttrueY否无被计算的表达式
var变量名StringfalseN否无被导出的保存了value属性计算结果的范围变量的名称
scope范围StringtrueN否pagevar的JSP范围
target目标 对象StringtrueY否无要设置属性的对象。必须是JavaBean对象或java.util.Map对象
property指定target对象属性ObjecttrueY否无要设置的target对象的属性的名称
实例:
------------------------------------------------------------------------------------------------------------------------------------------
Example1
该示例将为名为“oneString”的变量赋值为“this is andy”,其作用范围为page。
------------------------------------------------------------------------------------------------------------------------------------------
Example2
将对象cust.address的city属性值保存到变量city中。
------------------------------------------------------------------------------------------------------------------------------------------
Example3
设置不同的属性,并且指定它们的范围:
------------------------------------------------------------------------------------------------------------------------------------------
Example4
------------------------------------------------------------------------------------------------------------------------------------------
Example5
------------------------------------------------------------------------------------------------------------------------------------------
3.
库:Core(核心库)
前缀:c
描述:标签用于删除存在于scope中的变量。类似于、
...
语法:
属性:属性名描述类型是否接受动态值是否支持EL是否
必须默认值说明
var变量名StringNN是无欲移除变量的名称
scope范围StringNN否pagevar变量的JSP范围; 若没有指定,默认为全部查找
------------------------------------------------------------------------------------------------------------------------------------------
实例:
Example1
${sessionScope.sampleValue}
------------------------------------------------------------------------------------------------------------------------------------------
Example2
将username变量从session范围移除。若我们不设定scope,则会移除所有范围名称为username
的数据。
------------------------------------------------------------------------------------------------------------------------------------------
4.
库:Core(核心库)
前缀:c
描述:动作用于捕获JSP元素在其体中抛出的异常,从而提供细粒度的错误控制,此异常也可以保存为一个页面作用域变量。当错误发生和之间时,只有和之间的程序会被中止忽略,但整个网页不会被中止。它包含一个var属性,是一个描述异常的变量,该变量可选。若没有var属性的定义,那么仅仅捕捉异常而不做任何事情,若定义了var属性,则可以利用var所定义的异常变量进行判断转发到其他页面或提示报错信息。
语法:
//可能发生错误的部分
JSP elements
属性:
属性名描述类型是否接受动态值是否支持EL是否
必须默认值说明
var变量名StringNNN无用来存储错误信息的变量
实例:
------------------------------------------------------------------------------------------------------------------------------------------
Example1
------------------------------------------------------------------------------------------------------------------------------------------
Example2
${param.sampleSingleValue[9] == 3}
${err}
当“${param.sampleSingleValue[9] == 3}”表达式有异常时,可以从var属性“err”得到异常的内容,通常判断“err”是否为null来决定错误信息的提示。
------------------------------------------------------------------------------------------------------------------------------------------
5.
库:Core(核心库)
前缀:c
描述:动作仅当所指定的表达式计算为true时才计算其体。计算结果也可以保存为一个作用域Boolean变量。
语法:
语法1:没有体
var="var" [scope="page|request|session|application"]/>
语法2:有体
JSP elements
属性:属性名描述类型是否接受动态值是否支持EL是否
必须默认值说明
test测试表达式booleanYY是无如果表达式的结果为true则执行body,false则相反
var变量名StringNN否无用来存储test运算后的结果,即true或false
scope变量作用域StringNN否pagevar变量的JSP范围
实例:
6.
库:Core(核心库)
前缀:c
描述:动作用于控制嵌套和动作的处理,它只允许第一个测试表达式计算为true的动作得到处理;如果所有动作的测试表达式都计算为false,则会处理一个动作。标签没有属性,可以被认为是父标签,、将作为其子标签来使用。
语法:
body(和)
限制:
的本地内容只能有:
.空白
.1或多个
.0或多个
属性:
无
实例:
----------------------------------------------------------------------------------------------------------------------------------------
Example1
${product.salesPrice} On sale!
${product.price}
---------------------------------------------------------------------------------------------------------------------------------------
Example2
condition1 为 true
condition2 为 true
condition1和conditon2都为false
说明:
在同一个中,假如所有的的test都不为true时,则执行的本体内容。
在同一个中,假若有好几个都会true时,只能有一个成立。
----------------------------------------------------------------------------------------------------------------------------------------
7.
库:Core(核心库)
前缀:c
描述:标签等价于“if”语句,它包含一个test属性,该属性表示需要判断的条件。
语法:
Body content
属性:属性名描述类型是否接受动态值是否支持EL是否
必须默认值说明
test测试表达式booleanYY是无如果表达式的结果为true则执行body,false则相反
实例:
8.
库:Core(核心库)
前缀:c
描述:标签没有属性,它等价于“else”语句。
语法:
conditional block
属性:
无
实例:
、、标签综合实例
not 12 not 13,it is 11
not 11 not 13,it is 12
not 11 not 12,it is 13
not 11 、12、13