JSTL标签库学习.docx

上传人:b****2 文档编号:3186247 上传时间:2023-05-05 格式:DOCX 页数:24 大小:24.83KB
下载 相关 举报
JSTL标签库学习.docx_第1页
第1页 / 共24页
JSTL标签库学习.docx_第2页
第2页 / 共24页
JSTL标签库学习.docx_第3页
第3页 / 共24页
JSTL标签库学习.docx_第4页
第4页 / 共24页
JSTL标签库学习.docx_第5页
第5页 / 共24页
JSTL标签库学习.docx_第6页
第6页 / 共24页
JSTL标签库学习.docx_第7页
第7页 / 共24页
JSTL标签库学习.docx_第8页
第8页 / 共24页
JSTL标签库学习.docx_第9页
第9页 / 共24页
JSTL标签库学习.docx_第10页
第10页 / 共24页
JSTL标签库学习.docx_第11页
第11页 / 共24页
JSTL标签库学习.docx_第12页
第12页 / 共24页
JSTL标签库学习.docx_第13页
第13页 / 共24页
JSTL标签库学习.docx_第14页
第14页 / 共24页
JSTL标签库学习.docx_第15页
第15页 / 共24页
JSTL标签库学习.docx_第16页
第16页 / 共24页
JSTL标签库学习.docx_第17页
第17页 / 共24页
JSTL标签库学习.docx_第18页
第18页 / 共24页
JSTL标签库学习.docx_第19页
第19页 / 共24页
JSTL标签库学习.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JSTL标签库学习.docx

《JSTL标签库学习.docx》由会员分享,可在线阅读,更多相关《JSTL标签库学习.docx(24页珍藏版)》请在冰点文库上搜索。

JSTL标签库学习.docx

JSTL标签库学习

JSP标准标签库

1.JSTL简介

JSTL全名JspServerPagesStanddardTagLibrary(Jsp标准标签库),它是sun公司发布的一个针对JSP开发的新组件,它允许使用标签开发Jsp页面.

JSTL是一个标准的已制定好的标签库,它可以应用到很多领域.如:

基本输入输出、流程控制、循环、XML文件剖析、数据库查询及国际化和文字格式标准化的应用等。

JSTL所提供的标签库主要分为五大类:

JSTL

前置名称

URI

范例

核心标签库

c

out>

I18N格式标签库

fmt

formatDate>

SQL标签库

sql

query>

XML标签库

Xml

forEach>

函数标签库

fn

split>

2.核心标签库

功能分类

标签名称

表达式操作

out、set、remove、catch

流程控制

if、choose、when、otherwise

迭代操作

forEach、forTokens

URL操作

import、param、url、redirect

2.1

out>

功能:

out>主要用来显示数据的内容

属性列表:

名称

说明

必须

默认值

value

需要显示出来的值

default

如果value的值为null,则显示default的值

escapeXml

是否转换特殊字符,如:

<转换成<

true

实例:

使用核心标签库,并输出数据

步骤一:

将标签库中所有的.jar包(内部是所有的标签处理器)放到/WEB_INF/lib下,将所有的.tld(内部是所有的标签库描述)放到/WEB-INF/tlds下

步骤二:

在Jsp页面中引用核心标签(c_out.jsp)

<%@pagecontentType="text/html;charset=gbk"language="java"%>

<%@tagliburi="prefix="c"%>

<%--default的两种使用方式--%>

<%--如果在uri中输入参数name=jgl,则显示输入的value中的值,否则显示默认信息(default)--%>

outvalue="${param.name}"default="welecomejgltomywebsite!

"/>

outvalue="${param.name}">welecomejgltomywebsite!

out>

<%--value属性是必添的,escapeXml属性是true时,不解析特殊字符,false时,解析特殊字符--%>

outvalue="${param.name}"ecapeXml="false"><c:

out>

out>

2.2

set>

功能:

set>主要用来将变量存储至JSP范围中或是JavaBean的属性或Map对象中。

属性列表:

名称

说明

必须

默认值

value

要被存储的值

var

欲存入的变量名称

scope

var变量的JSP范围

page

target

JavaBean或Map对象

property

指定target对象的属性

实例1:

将变量设置到Jsp范围内,并输出

<%--将变量定义在Jsp范围内--%>

<%--value属性的两钟使用方式--%>

setvar="username"value="jack"scope="session"/>

setvar="pwd"scope="session">000

set>

<%--通过el表达式语言输出--%>

${sessionScope.username}

${sessionScope.pwd}

<%--通过jstl中

out>标签输出--%>

outvalue="${sessionScope.username}"/>

实例2:

将变量设置到javaBean对象内,并输出

useBeanid="stu"class="net.pcedu.student"/>

<%--通过

set>标签给javaBean对象的age属性设值--%>

setvalue="16"target="${stu}"property="age"/>

<%--输出javaBean对象的属性值--%>

年龄:

outvalue="${stu.age}"/>

2.3

remove>

功能:

主要负责移除变量

属性列表:

名称

说明

必须

默认值

var

欲移出的变量名称

scope

Var变量的JSP范围

page

如:

removevar="username"scope="session"/>

${sessionScope.username}—输不出结果

2.4

catch>

功能:

主要用于捕获异常

属性列表:

名称

说明

必须

默认值

var

用来储存错误信息的变量

<%@taglibprefix="c"uri="%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

<%--捕获异常,并将异常信息存储在var变量中--%>

catchvar="myexp">

<%

inti=0;

intj=3/0;

%>

catch>

异常


outvalue="${myexp}">

out><%--输出异常--%>


异常信息

outvalue="${myexp.message}"/><%--获取异常信息--%>


引起原因

outvalue="${myexp.cause}"/><%--获取引起异常的原因--%>

2.5

if>

功能:

主要用于进行if判断,如果为true,则输出标签体中的内容

名称

说明

必须

默认值

test

如果表达式的结果为true,则执行体内容,false则相反

var

用来存储test运算的结果(true或false)

scope

Var变量的JSP范围

page

实例:

利用

set>标签设置javaBean的属性age,在jsp页面中获取age,如果age<18,输出相应信息

<%@taglibprefix="c"uri="%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

<%--jsp页面默认是true,EL表达式被忽略--%>

<%@pageisELIgnored="false"%>

<%--定义一个javaBean对象--%>

useBeanid="stu"class="net.pcedu.student"/>

<%--通过

set>标签给javaBean对象的age属性设值--%>

setvalue="16"target="${stu}"property="age"/>

<%--输出javaBean对象的属性值--%>

年龄:

outvalue="${stu.age}"/>

<%--当if判断为true时,输出标签体的内容--%>

iftest="${stu.age<18}"var="young"scope="session">对不起,未成年,不能访问这个网站...

if>

<%--输出if语句的判断结果--%>

判断结果:

outvalue="${sessionScope.young}"/>

2.6

choose>,

when>,

otherwise>

when>中属性列表:

名称

说明

必须

默认值

test

如果表达式的结果为true,则执行本体内容,false则相反

实例:

从javaBean中获取color属性,并根据不同的属性值显示不同的颜色

<%@taglibprefix="c"uri="%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

<%@pageisELIgnored="false"%>

<%--定义一个Color对象--%>

useBeanid="c"class="net.pcedu.Color"/>

<%--为Color对象设置属性--%>

setvalue="blue"target="${c}"property="color"/>

<%--获取Color对象的属性值,并根据不同的属性值显示不同的颜色--%>

outvalue="${c.color}">

out>

choose>

whentest="${c.coloreq'red'}">

你选择的颜色是:

outvalue="${c.color}"/>

when>

whentest="${c.coloreq'blue'}">

你选择的颜色是:

outvalue="${c.color}"/>

when>

otherwise>

你选择的颜色是:

outvalue="${c.color}"/>

otherwise>

choose>

2.7

forEach>

功能:

forEach>为循环控制,它可以将数组,集合(Collection)中的成员循序浏览一遍。

属性列表:

名称

说明

必须

默认值

var

用来存放现在指定的成员

items

被迭代的集合对象

varStatus

用来存放现在指的相关成员信息

begin

开始的位置

0

end

结束的位置

最后一个成员

step

每次迭代的间隔数

1

实例:

<%@pagecontentType="text/html;charset=gbk"%>

<%@tagliburi="prefix="c"%>

<%@pageimport="java.util.*,net.pcedu.core.UserInfo"%>

<%--将javabean对象存放到集合中--%>

<%

Listusers=newArrayList();

for(inti=0;i<5;i++)

{

UserInfou=newUserInfo();

u.setName("jack-"+i);

u.setPwd("00"+i);

users.add(u);

session.setAttribute("users",users);

}

%>

<%--注意:

EL中只可通过11个隐含对象来输出表达式中的内容(因此直接将List对象添加到EL表达式中不可用)--%>

<%--通过

forEach>迭代出集合中的信息>--%>

用户信息

forEachvar="user"items="${users}"varStatus="status"><%--加上begin="1"end="3"step="1"属性,将只显示前三条记录--%>

<%--输出当前行的索引号--%>

<%--输出已遍历的行数--%>

<%--输出当前行是否是第一行--%>

<%--输出当前行是否是最后一行--%>

forEach>

用户名密码当前行的索引已遍历的行数是否第一行是否最后一行

outvalue="${user.name}"/>

outvalue="${user.pwd}"/>

outvalue="${status.index}"/>

outvalue="${status.count}"/>

outvalue="${status.first}"/>

outvalue="${status.last}"/>

<%--通过

forEach>输出从1到10的数据--%>

forEachvar="num"begin="1"end="10"step="2">

outvalue="->${num}">

out>

forEach>

<%--通过

forEach>遍历数组,枚举,集合等--%>

<%

int[]intarr=newint[]{10,20,30,40,50};

String[]strarr=newString[]{"I","am","a","handsome","boy"};

Vectorv=newVector();

v.add("This");

v.add("is");

v.add("a");

v.add("Enumeration");

v.add("example");

Enumeratione=v.elements();

HashMaph=newHashMap();

h.put("hello","0");

h.put("hello1","1");

h.put("hello2","2");

h.put("hello3","3");

h.put("hello4","4");

request.setAttribute("intarr",intarr);

request.setAttribute("strarr",strarr);

request.setAttribute("e",e);

request.setAttribute("h",h);

%>


--遍历整形数组--

<%--遍历整形数组--%>

forEachvar="i"items="${intarr}">

outvalue="${i}">

out>

forEach>


--遍历字符串数组--

<%--遍历字符串数组--%>

forEachvar="s"items="${strarr}">

outvalue="${s}">

out>

forEach>


--遍历枚举--

<%--遍历枚举--%>

forEachvar="ee"items="${e}">

outvalue="${ee}">

out>

forEach>


--遍历HashMap--

<%--遍历HashMap--%>

forEachvar="hh"items="${h}">

outvalue="${hh.key}"/>=

outvalue="${hh.value}"/>

forEach>

2.8

forTokens>

功能:

将字符串以指定的一个或多个字符分割开来

属性列表

名称

说明

必须

默认值

var

用来存放现在的成员

items

被迭代的字符串

delims

定义用来分割字符串的字符

varStatus

用来存放现在指定的相关成员信息

begin

开始位置

0

end

结束位置

最后一个成员

step

每次迭代的间隔数

1

实例:

<%@taglibprefix="c"uri="%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

<%--通过一个分割符将字符串划分为数组,并遍历出来--%>

forTokensvar="ele"items="blue,red,green|yellow|pink,black|white"delims="|">

outvalue="${ele}"/>||

forTokens>


<%--通过多个分割符将字符串划分问数组,并遍历出来--%>

forTokensvar="ele"items="blue,red!

green|yellow;pink;black|white"delims="|;,!

">

outvalue="${ele}"/>||

forTokens>

2.9

import>

功能:

import>可以把其他静态或动态文件包含至本身JSP网页。

属性列表:

名称

说明

必须

默认值

url

文件被包含的地址

context

相同容器下,其它web必须以“/”开头

var

储存被包含文件的内容

scope

var变量的JSP范围

page

charEncoding

被包含文件内容的编码格式

varReader

储存被包含的文件的内容

注意:

import>与

include>的区别

include>只能包含和自己同一个Web应用程序下的文件;而

import>除了能包含和自己同一个Web应用程序的文件外,亦可以包含不同Web应程序或者是其它网站的文件。

实例:

包含同一个web应用程序的文件和不同webweb应用程序的文件

<%@taglibprefix="c"uri="%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

<%--引入绝对路径的文件--%>

<%--注意:

被引入的文件将被解析为html的形式嵌入引用文件--%>

引入绝对路径的文件

importurl="http:

//127.0.0.1:

8080/test/c_beimported.jsp"var="file"charEncoding="gbk"/>

outvalue="${file}">

out>

<%--引入相对路径的文件--%>

引入相对路径的文件

importurl="c_beimported.jsp"var="f"/>

outvalue="${f}">

out>

<%--传递参数到被引入文件--%>

传递参数到被引入文件

importurl="c_beimported.jsp"var="ff">

paramname="name"value="jack"/>

import>

outvalue="${ff}">

out>

2.10.

url>

功能:

url>主要用来产生一个URL

名称

说明

必须

默认值

value

执行的URL

context

相同容器下,必须以“/”开头

var

储存被包含文件的内容

scope

var变量的JSP范围

page

实例:

将一个url存放到一个变量中,并输出url

<%@taglibprefix="c"uri="%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

<%--将一个url存放到一个变量中,并输出url--%>

urlvar="myurl"value="c_beimported.jsp"scope="session">

paramname="name"value="jgl"/>

url>

outvalue="${myurl}"/>

2.11

redirect>

功能:

redirect>可以将客户端的请求从一个JSP网页导向到其它文件。

属性列表:

名称

说明

必须

默认值

url

导向的目标地址

context

相同容器下,必须以“/”开头

 

<%@taglibprefix="c"uri="%>

<%@pagecontentType="text/html;charset=gb2312"language="java"%>

<%--通过

url>获得url--%>

urlvalue="c

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2