JSP表达式语言(jspEL)2主要内容EL简介EL运算符(掌握)EL的基本用法(掌握)EL保留字禁用ELEL隐式对象(内置对象)(掌握几个就可以)EL的应用及实例演示3EL简介1.是expressionlanguage这两个英文单词的缩写(表达式语言)2.可以获取并显示页面上的数据,它可以替代jsp脚本表达式元素。3.它是jsp2.0规范中的一个技术,如果想解析el表达式的话,必须使用支持Jsp2.0/servlet2.4(及以上版本)技术的web服务器(tomcat5.0以上版本均支持el表达式)4.语法:${expression}4EL运算符运算符描述*乘法/或div除法+加法-减法%或者mod取余运算符Empty逻辑关系算术运算符描述或lt小于或gt大于=或le小于等于=或ge大于等于==或eq等于!=或ne不等于运算符描述&&或and逻辑与||或or逻辑或!或not逻辑非运算符描述Empty检查空值三元运算符:a?b:c5EL的基本用法•Page、Request、Seesion、Application变量搜索范围依次为El表达式获取变量的值,可以用.或者是[]这两个符号。6保留字程序中不应使用保留字作为变量名或方法的名称运算符描述运算符描述and与ge大于等于or或trueTruenot非falseFalseeq等于nullNullne不等于empty清空le小于等于div相除gt大于mod取模7禁用EL在JSP中禁用计算,以忽略JSP中EL表达式的执行禁用EL计算的语法为:%@pageisELIgnored=true|false%html%@pageisELIgnored=“false%head使用JSP表达式语言/title/headbodyh1表达式语言/h1b浏览器类型是/b${header[User-Agent]}./body/htmlfalse计算ELhtml%@pageisELIgnored=“true%headtitle使用JSP表达式语言/title/headbodyh1表达式语言/h1b浏览器类型是/b${header[User-Agent]}./body/htmltrue不计算EL8禁用EL%@pageisELIgnored=false%htmlheadtitle表达式示例/title/headbodybgcolor=#ffffffh1启用表达式语言/h1formmethod=postaction=expressionexample.jspb${'FirstName:'}inputtype=text“value=“${‘请输入您的名字'}//bb${'LastName:'}inputtype=text“value=“${‘请输入您的姓氏'}//binputtype=“submit”name=“Submit”value=“${‘提交表单'}inputtype=“reset”value=“${‘重置表单'}/form/body/htmlisELIgnored设置为falseJSP引擎计算EL9隐式对象隐式对象pageContextcookieinitParamparamValuesparamheaderheaderValuesapplicationScoperequestScopesessionScopepageScope10隐式对象pageContext:提供对页面属性的访问param:返回客户端的请求参数的字符串值paramValues:返回映射至客户端的请求参数的一组值11隐式对象header:返回一个请求标题名称,然后将该值映射至单个字符串值headerValues:返回映射至请求标题的一组值cookie:返回映射至单个Cookie对象的Cookie名称initParam:返回映射至单个值的上下文初始化参数名称pageScope:返回页面范围的变量名,这些名称已映射至相应的值12隐式对象requestScope:返回对请求对象的属性的访问权限sessionScope:返回会话范围的变量名,这些名称已映射至相应的值applicationScope:返回应用范围内的变量,并将变量名映射至相应的值13EL的应用演示:示例1htmlbodyh1ELLogic/h1tableborder=1trtdb逻辑运算/b/tdtdbEL表达式/b/tdtdbResult/b/td/trtrtd与/tdtd${'${'}trueandtrue}/tdtd${trueandtrue}/td/trtrtd与/tdtd${'${'}true&&false}/tdtd${true&&false}/td/trtrtable标签中的EL表达式td或/tdtd${'${'}trueortrue}/tdtd${trueortrue}/td/trtrtd或/tdtd${'${'}true||false}/tdtd${true||false}/td/trtrtd非/tdtd${'${'}nottrue}/tdtd${nottrue}/td/trtrtd非/tdtd${'${'}'!false}/tdtd${!false}/td/tr/table/body/htmltable标签中的EL表达式14EL的应用htmlheadtitleParam.html/title/headbodyformmethod=getaction=param.jspp姓名:inputtype=textname=usernamesize=15/p密码:inputtype=passwordname=passwordsize=15/p性别:inputtype=radioname=sexvalue=Malechecked男inputtype=radioname=sexvalue=FeMale/女p兴趣:inputtype=checkboxname=habbitvalue=Reading看书inputtype=“checkbox”name=“habbit”value=“Game”玩游戏inputtype=checkboxname=habbitvalue=Travel旅游inputtype=checkboxname=habbitvalue=Music听音乐inputtype=checkboxname=habbitvalue=TV看电视Pinputtype=submitvalue=传送inputtype=resetvalue=清除/P/form/body/html%@pagecontentType=text/html;charset=language=javaimport=java.sql.*errorPage=%htmlheadtitleParam.jsp/title/headbody姓名:${param.username}/br密码:${param.password}/br性别:${param.sex}/br兴趣:${paramValues.habit[0]}${paramValues.habit[1]}/body/html15总结EL为表达式语言Java社区组织的JSP标准标签库专家组和JSP2.0专家组开发了JSP表达式语言JSP表达式语言可用于任何静态文本、标准标签和自定义标签点运算符(.)或([])用于获取变量的值pageScope、requestScope、sessionScope和applicationScope隐式对象用于访问各种范围的变量param对象返回一个值,将请求参数名称映射至单个字符串值16常见问题EL表示什么?EL表示JSP表达式语言。Empty运算符的用途是什么?Empty运算符是用于检查返回值。如果这个值是null,将返回true。如果返回一些值,将返回false。JSP表达式语言有哪些作用?JSP表达式语言是用于在网页上显示动态内容,可以代替JSP脚本,且比JSP的Scriptlet和表达式更好维护页面。JSP表达式语言可用于在网页上显示以表格形式生成的动态内容。JSP表达式语言也可用于HTML标签中。EL表达式也可作为标签的属性的值进行传递。17作业编写一个JSP程序,用以获取一名学员五门学科的分数。每门学科的得分圴在100分以内。在同一个页面显示所有提交分数的总分和平均分。编写一个JSP程序,用以比较两个自定义的整数值,并在同一个页面上显示比较结果。编写一个使用表达式语言的JSP程序,该程序将使用用户输入的数据来操作当前页面的背景色、字号大小、表格宽度和边框。编写一个使用JSP表达式语言的JSP程序,输入一个数字,提交后输出该数字的九九乘法表。