EL表达式详解.docx

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

EL表达式详解.docx

《EL表达式详解.docx》由会员分享,可在线阅读,更多相关《EL表达式详解.docx(21页珍藏版)》请在冰点文库上搜索。

EL表达式详解.docx

EL表达式详解

EL表达式

注:

在一个jsp中一定要注意

<%@pageisELIgnored="true|false"%>

1,可以访问一个简单的参数

userName是一个参数

${userName}

2,访问一个嵌套的参数

${userBean.userName}

3,可以是一个表达式

${userBean.age>0}

${userBean.age>20&&userBean.age<10}

4,隐含对象

1)pageContextjsp页面的上下文,它提供了访问以下对象的方法

a,ServletContext,Servlet的上下文信息

b,Session客户端的session对象

c,request

d,response

2)param把请求中的参数名和单个值进行映射

3)paramValues把请求中的参数名和一个array值进行映射

4)cookie把请求中的cookie名和单个值进行映射

表达式编程举例:

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

<%@pagecontentType="text/html;charset:

gb2312"language="java"%>

useBeanid="user"class="com.iss.ch1.TestBean"scope="request">

setPropertyname="user"property="*"/>

useBean>

表达式语言举例

姓名:

${user.userName}

密码:

${user.password}

年龄:

${user.age}


姓名:

${param.userName}

密码:

${param.password}

年龄:

${param.age}


姓名:

${param['userName']}

密码:

${param['password']}

年龄:

${param['age']}


标准标签库(JSTL)

JSTL包含了和以下操作相关的标签

常用标签

out>,

set>

条件标签

if>,

choose>

when>

otherwise>

url标签

xml标签

out>

国际化输出标签

timeZone>

SQL标签:

query>

1,一般标签;

out>

set>

remove>

catch>

1)把计算的结果输出

a

outvalue="value"[escapeXml="{true|false}"][default="defaultValue"]/>

b

outvalue="value"[escapeXml="{true|false}"]>body

out>

outvalue="test"/>//输出"test"

outvalue="test2'>itese

out>//中的body中的内容不会发送到客户端

outvalue="${test}"/>

outvalue="${notex}"default="如果notex变量不存在,则将显示此信息"/>

2)用来将某范围(request,session,application等)中设置某个值

a,

setvalue="value"var="varName"[scope="{page|request|session|application}"]>

b,

setvar="varname"[scope="{page....}"]>body

set>

c,

setvalue="value"target="target"property="propertyname"/>

d,

settarget="target"property="propertyname">body

set>

如:

setvalue="admin"var="username"/>

outvalue="${username}"/>

setvar="password">

pass

set>

setvalue="100"var="maxUser"scope="application"/>

useBeanid="user"scope="request"class="com.iss.ch1.test"/>

setvalue="admin"target="${user}"property="userName"/>

settarget="${user}"property="password">

test

set>

3)用于删除某个变量或者属性

removevar="varName"[scope="{page|request|session|application}"]/>

如:

setvalue="20"var="max"scope="application"/>

removevar="max"scope="application"/>

4)捕获由嵌套在它里面的标签抛出的异常

catch[var="varName"]>test

catch>

例:

catchvar="mytest">

<%inti=0;

intj=10/i;

%>

catch>

outvalue="${mytest}"/>

outvalue="${mytest.message}"/>

outvalue="${mytest.cause}"/>

2条件标签

1)用于进行条件判断,如果test属性为true,则就计算它的body

a,

iftest="test1"var="varName"[scope="{page|request|....}"]/>

b,

iftest="test1"var="varName"[scope="{page|request|....}"]>body

if>

test为表达式的条件

例:

useBeanid="user"class="com.iss.ch1.test"/>

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

iftest="${user.age<18}">

对不起,你的年龄过小

if>

2)

choose>用于条件选择,它和

when>及

otherwise>一起使用

注:

不能单独使用

就象是开关语句swith

choose>

choose>

whentest="条件">也就是

choose>的分支

此语句一定要在

choose>的里面,并且一定要在

otherwise>之前

when>

choose>中可以有0个或者多个

when>或

otherwise>

otherwise>也就是最后的分支语句

test与开关语句中的最后选择

otherwise>

如:

choose>

whentest="${user.age<=18}">

when>

whentest="${user.age<30&&user.age>18}">

when>

otherwise>

otherwise>

choose>

你的年龄:

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

3迭代标签

我们一般使用Iterator或Enumeration来进行迭代

forEach>

forTokens>

语法1在Collection中迭代

forEach[var="varName"]items="collection"[varStatus="varStatusName"][begin="begin"][end="end"][step="stet"]>

body

forEach>

语法2迭代固定的次数

forEach[var="varName"][varStatus="varStatusName"][begin="begin"][end="end"][step="stet"]>

body

forEach>

例:

<%Collectionusers=newArrayList();

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

{

TestBeanuser=newTestBean();

user.setUser("user");

user.setAge("age");

users.add(user);

}

session.setAttribute("usert",users);

%>

forEachvar="use"items="${usert}">

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

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

forEach>

forTokens>

主要用于处理TokenString的迭代,可以指定一个或者多个分隔符

forTokensitems="stringOfTokens"delims="delimiters"[var="varName"][begin="begin"][end="end"][step="step"]>

body

forTokens>

使用"|"作为分隔符

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

outvalue="${tok}"/>©

forTokens>

使用"|,"作为分隔符

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

outvalue="${tok}"/>©

forTokens>

URL相关的标签

就是页面导向,重定向,资源获得,参数传递等相关标签

importurl="url"var="varname"scope=""charEnvoding="">

tstee

param>

import>

includefile=""/>一样的功能

redirecturl="">重定向到另一个资源

param>teewe

redirect>

redirecturl="test.jsp">

paramname="username"value="admin"/>

redirect>重定向到test.jsp中同时带上相关参数

注:

在以上所有标签,在jsp中要定义标签:

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

xml标签

parse>

out>

set>

1)

parse>用于解释xml文档

a,解释由String或reader对象产生的xml文档

parsexml="xmldocument"{var="varName"[scope="scope"]|varDom="var"[scopeDom="scope"]}[systemid="systemid"][filter="filter"/>

b,解释在Body中指定的xml文档

parse{var="varName"[scope="scope"]|varDom="var"[scopeDom="scope"]}[systemid="systemid"][filter="filter">

body

parse>

例如:

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

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

<%@pagecontentType="text/html;charset:

gb2312"language="java"%>

test

setvar="xmltest">

test1test2

set>

parsevar="myxml"xml="${xmltest}"/>

outselect="$myxml/a/b/c"/>

outselect="$myxml//d"/>

parsevar="mybook">

java书

89

parse>

outselect="$mybook/books//name"/>

outselect="$mybook//name"/>

outselect="mybook/books/book/name"/>

outselect="mybook/books/book/price"/>

setvar="test">

jsp书

23

teee

ddddd

set>

parsevar="txml"xml="${test}"/>

outselect="txml/books/name"/>

xml流程控制

if>

choose>

when>

otherwise>

forEach>

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

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

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

实例

Parse/ForEach

parsevar="document">

JSP应用

出版社

xxx

计算机

JSP书

asiapower

address:

xxxx1

hellking

address:

xxxx2

parse>

forEachselect="$document/GetAllBooks">

->

outselect="."/>


forEach>


forEachselect="$document//book">

->

ifselect=".//author">

outselect=".//author/name"/>

if>


forEach>


forEachselect="$document//book">

->

choose>

whenselect='$document//author[@id="2"]'>

authorid=2,

outselect='$document//author[@id="2"]'/>

when>

otherwise>

不是id=2

otherwise>

choose>


forEach>

SQL相关标签

setDataSource>用于设定数据源,还可以指其范围

stDataSource[datasource="datasource"]url="jdbcurl"[driver="driverClassName"]user="username"password="password"var="varname"scope="">

例:

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

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

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

sqldatasource

创建普通的数据源:


setDataSource

var="example1"

driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"

url="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;DatabaseName=jspdev"

user="bn"

password="bn"

/>

创建普通的数据源,把用户名和密码写在url中:


setDataSource

var="example2"

driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"

url="jdbc:

microsoft:

sqlserver:

//127.0.0.1:

1433;DatabaseName=jspdev;user=bn;password=bn"

/>

获得一个数据源。


setDataSource

var="example3"

dataSource="jdbc/bn"

/>


使用第一个数据源:


queryvar="query1"dataSource="${example1}">

SELECT*FROMcontact

query>

forEachvar="row"items="${query1.rows}">

Name:

outvalue="${row.userName}"/>

Value:

outvalue="${row.mobile}"/>

forEach>

使用第二个数据源:


queryvar="query2"dataSource="${example2}">

SELECT*FROMcontact

query>

forEachvar="row"items="${query2.rows}">

Name:

outvalue="${row.userName}"/>

Value:

outvalue="${row.mobile}"/>

forEach>

使用第三个数据源:


queryvar="query3"dataSource="${example3}">

SELECT*FROMcontact

query>

forEachvar="row"items="${query3.rows}">

Name:

outvalue="

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

当前位置:首页 > 求职职场 > 简历

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

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