EL表达式详解+实例教程
EL表达式(详解)
![EL表达式(详解)](https://img.taocdn.com/s3/m/45b1645f3b3567ec102d8afa.png)
EL表达式注:在一个jsp中一定要注意<%@ page isELIgnored="true|false" %>1,可以访问一个简单的参数userName是一个参数${userName}2, 访问一个嵌套的参数${erName}3, 可以是一个表达式${userBean.age>0}${userBean.age>20 && userBean.age<10}4, 隐含对象1) pageContext jsp页面的上下文,它提供了访问以下对象的方法a, Servlet Context,Servlet的上下文信息b, Session 客户端的session对象c, requestd, response2) param 把请求中的参数名和单个值进行映射3) paramValues 把请求中的参数名和一个array值进行映射4) cookie 把请求中的cookie名和单个值进行映射表达式编程举例:<%@ taglib prefix="c" uri="/jsp/jstl/core" %><%@ page contentType="text/html;charset:gb2312" language="java" %> <jsp:useBean id="user" class="com.iss.ch1.TestBean" scope="request"><jsp:setProperty name="user" property="*" /></jsp:useBean><html><head><title>表达式语言举例</title></head><body>姓名:${erName}<br>密码:${user.password}<br>年龄:${user.age}<br><hr>姓名:${erName}<br>密码:${param.password}<br>年龄:${param.age}<br><hr>姓名:${param['userName']}<br>密码:${param['password']}<br>年龄:${param['age']}<br><hr>标准标签库(JSTL)JSTL包含了和以下操作相关的标签常用标签<c:out> ,<c:set>条件标签<c:if>, <c:choose> <c:when> <c:otherwise>url标签<c;import>xml标签<xml:out>国际化输出标签<fmt:timeZone>SQL标签: <sql:query>1, 一般标签;<c:out> <c:set> <c:remove> <c:catch>1) 把计算的结果输出a <c:out value="value" [escapeXml="{true|false}"] [default="defaultValue"]/>b <c:out value="value" [escapeXml="{true|false}"]> body </c:out><c:out value="test"/> //输出"test"<c:out value="test2'>itese </c:out> //中的body中的内容不会发送到客户端<c:out value="${test}"/><c:out value="${notex}" default="如果notex变量不存在,则将显示此信息"/>2) 用来将某范围(request,session,application等)中设置某个值a, <c:set value="value" var="varName" [scope="{page|request|session|application}"]> b, <c:set var="varname" [scope="{page....}"]> body </c:set>c, <c:set value="value" target="target" property="propertyname"/>d, <c:set target="target" property="propertyname"> body </c:set>如:<c:set value="admin" var="username"/><c:out value="${username}"/><c:set var="password">pass</c:set><c:set value="100" var="maxUser" scope="application"/><jsp:useBean id="user" scope="request" class="com.iss.ch1.test"/><c:set value="admin" target="${user}" property="userName"/><c:set target="${user}" property="password">test</c:set>3) 用于删除某个变量或者属性<c:remove var="varName" [scope="{page|request|session|application}"]/>如:<c:set value="20" var="max" scope="application"/><c:remove var="max" scope="application"/>4) 捕获由嵌套在它里面的标签抛出的异常<c:catch [var="varName"]> test </c:catch>例:<c:catch var="mytest"><% int i=0;int j=10/i;%></c:catch><c:out value="${mytest}"/><c:out value="${mytest.message}"/><c:out value="${mytest.cause}"/>2 条件标签1) 用于进行条件判断,如果test属性为true,则就计算它的bodya, <c:if test="test1" var="varName" [scope="{page|request|....}"] />b, <c:if test="test1" var="varName" [scope="{page|request|....}"] > body </c:if>test为表达式的条件例: <jsp:useBean id="user" class="com.iss.ch1.test"/><c:set value="16" target="${user}" property="age"/><c:if test="${user.age<18}">对不起,你的年龄过小</c:if>2) <c:choose> 用于条件选择,它和<c:when>及<c:otherwise>一起使用注: 不能单独使用就象是开关语句swith<c:choose> </c:choose><c:when test="条件"> 也就是<c:choose>的分支此语句一定要在<c:choose>的里面,并且一定要在<c:otherwise>之前</c:when>在<c:choose>中可以有0个或者多个<c:when>或<c:otherwise><c:otherwise> 也就是最后的分支语句test 与开关语句中的最后选择</c:otherwise>如:<c:choose><c:when test="${user.age<=18}"><font color="blue"></c:when><c:when test="${user.age<30 && user.age>18}"><font color="red"></c:when><c:otherwise><font color="green"></c:otherwise></c:choose>你的年龄:<c:out value="${user.age}"/>3 迭代标签我们一般使用Iterator 或Enumeration来进行迭代<c:forEach><c:forTokens>语法1 在Collection中迭代<c:forEach [var="varName"] items="collection" [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="stet"]>body</c:forEach>语法2 迭代固定的次数<c:forEach [var="varName"] [varStatus="varStatusName"] [begin="begin"] [end="end"] [step="stet"]>body</c:forEach>例:<% Collection users=new ArrayList();for(int i=0;i<5;i++){TestBean user=new TestBean();user.setUser("user");user.setAge("age");users.add(user);}session.setAttribute("usert",users);%><c:forEach var="use" items="${usert}"><tr><td><c:out value="${er}" /></td><td><c:out value="${use.age}" /></td></tr></c:forEach><c:forTokens>主要用于处理TokenString 的迭代,可以指定一个或者多个分隔符<c:forTokens items="stringOfTokens" delims="delimiters" [var="varName"] [begin="begin"] [end="end"] [step="step"]>body</c:forTokens>使用"|" 作为分隔符<c:forTokens var="tok" items="blue,red,green|yellow|pink,black|white" delims="|"> <c:out value="${tok}"/>©</c:forTokens>使用"|," 作为分隔符<c:forTokens var="tok" items="blue,red,green|yellow|pink,black|white" delims="|,"><c:out value="${tok}"/>©</c:forTokens>URL 相关的标签就是页面导向,重定向,资源获得,参数传递等相关标签<c:import url="url" var="varname" scope=" " charEnvoding=" ">tstee <c:param ></c:import >与<jsp:include file=""/>一样的功能<c:redirect url=" " > 重定向到另一个资源<c:param> teewe</c:redirect><c:redirect url="test.jsp"><c:param name="username" value="admin"/></c:redirect> 重定向到test.jsp中同时带上相关参数注:在以上所有标签,在jsp中要定义标签:<%@ taglib prefix="c" uri="/jstl/core" %>xml标签<x:parse><x:out><x:set>1) <x:parse>用于解释xml文档a, 解释由String 或reader对象产生的xml文档<x:parse xml="xmldocument" {var="varName" [scope="scope"]|varDom="var" [scopeDom="scope"]} [systemid="systemid"] [filter="filter"/>b, 解释在Body中指定的xml文档<x:parse {var="varName" [scope="scope"]|varDom="var" [scopeDom="scope"]} [systemid="systemid"] [filter="filter">body</x:parse>例如:<%@ taglib prefix="c" uri="/jstl/core" %><%@ taglib prefix="x" uri="/jstl/xml" %><%@ page contentType="text/html;charset:gb2312" language="java" %><html><head><title>test</title></head><body><c:set var="xmltest"><a><b><c>test1</c></b><d>test2</d></a></c:set><x:parse var="myxml" xml="${xmltest}" /><x:out select="$myxml/a/b/c" /><x:out select="$myxml//d" /><x:parse var="mybook"><books><book id="1"><name>java书</name><price>89</price></book></books></x:parse><x:out select="$mybook/books//name"/><x:out select="$mybook//name"/><x:out select="mybook/books/book/name"/><x:out select ="mybook/books/book/price"/><x:set var="test"><books><book id="01"><name>jsp书</name><price>23</price><authors><author><name>teee</name><adder>ddddd</adder></author></authors></book></books></x:set><x:parse var="txml" xml="${test}"/><x:out select="txml/books/name"/>xml流程控制<x:if><x:choose><x:when><x:otherwise><x:forEach><%@ taglib prefix="x" uri="/jstl/xml" %><%@ taglib prefix="c" uri="/jstl/core" %><%@ page contentType="text/html; charset=gb2312" language="java" %><html><head><title>实例</title></head><body bgcolor="#FFFFFF"><h3>Parse / ForEach</h3><x:parse var="document"><GetAllBooks><book id="1234"><name>JSP应用</name><publisher>出版社</publisher><price>xxx</price><category>计算机</category><description>JSP书</description><authors><author id="1"><name>asiapower</name><address>address:xxxx1</address></author><author id="2"><name>hellking</name><address>address:xxxx2</address></author></authors></book></GetAllBooks></x:parse><x:forEach select="$document/GetAllBooks">-> <x:out select="."/><br></x:forEach><hr/><x:forEach select="$document//book">-><x:if select=".//author"><x:out select=".//author/name"/></x:if><br/></x:forEach><hr><x:forEach select="$document//book">-><x:choose><x:when select='$document//author[@id="2"]'>author id=2,<x:out select='$document//author[@id="2"]'/></x:when><x:otherwise>不是id=2</x:otherwise></x:choose><br/></x:forEach></body></html>SQL相关标签<sql:setDataSource> 用于设定数据源,还可以指其范围<sql:stDataSource [datasource="datasource"] url="jdbcurl" [driver="driverClassName"] user="username" password="password" var="varname" scope="">例:<%@ taglib prefix="c" uri="/jstl/core" %><%@ taglib prefix="sql" uri="/jstl/sql" %><%@ page contentType="text/html; charset=gb2312" language="java" %><html><head><title>sql datasource</title></head><body bgcolor="#FFFFFF">创建普通的数据源:<br><sql:setDataSourcevar="example1"driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev"user="bn"password="bn"/>创建普通的数据源,把用户名和密码写在url中:<br><sql:setDataSourcevar="example2"driver="com.microsoft.jdbc.sqlserver.SQLServerDriver"url="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jspdev;user=bn;password=bn" />获得一个数据源。
el表达式 多条件判断 -回复
![el表达式 多条件判断 -回复](https://img.taocdn.com/s3/m/a043f2a94bfe04a1b0717fd5360cba1aa8118c05.png)
el表达式多条件判断-回复el表达式是一种在JavaServer Pages(JSP)中使用的表达式语言,它能够对多个条件进行判断和处理。
本文将详细介绍el表达式的多条件判断用法,并通过一步一步的方式进行解释。
首先,我们需要了解el表达式的基本语法和用法。
在JSP中,el表达式以"{}"的形式出现,其中两个花括号内可以包含各种表达式和函数。
接下来,我们将通过一些例子来说明el表达式的多条件判断功能。
假设我们有一个名为"student"的对象,该对象包含学生的姓名、年龄和成绩。
我们希望根据学生的年龄和成绩来判断他们是否需要进行特殊辅导。
首先,我们可以使用el表达式来获取学生的年龄和成绩,如"{student.age}"和"{student.score}"。
那么,如何对学生的年龄和成绩进行多条件判断呢?el表达式提供了丰富的运算符和函数,可以方便地实现多条件判断。
下面是一些常用的el 表达式多条件判断的示例:1. 判断学生的年龄是否大于18岁:"{student.age > 18}"2. 判断学生的成绩是否大于等于90分:"{student.score >= 90}"3. 判断学生的年龄是否大于等于18岁且成绩大于等于90分:"{student.age >= 18 && student.score >= 90}"4. 判断学生的年龄是否大于等于18岁或成绩大于等于90分:"{student.age >= 18 student.score >= 90}"5. 判断学生的年龄是否大于等于18岁且成绩介于80分和90分之间:"{student.age >= 18 && student.score > 80 && student.score < 90}"通过使用这些条件判断,我们可以根据学生的具体情况进行特殊辅导的安排。
el表达式将秒转分秒 -回复
![el表达式将秒转分秒 -回复](https://img.taocdn.com/s3/m/77828270effdc8d376eeaeaad1f34693daef10bc.png)
el表达式将秒转分秒-回复如何使用EL表达式将秒转换为分和秒。
第一步:了解EL表达式是什么EL(Expression Language)是一种用于在JSP和JSF页面中嵌入表达式的语言。
EL表达式类似于脚本语言,可以用来访问JavaBean的属性、调用方法、执行运算等等。
EL表达式使用{}标记来表示。
第二步:理解秒转换为分和秒的需求在某些场景中,我们需要将给定的秒数转换为分和秒的形式,例如将150秒转换为2分30秒。
第三步:使用EL表达式实现秒转换为分和秒EL表达式提供了一些运算符和函数,可用于实现秒转换为分和秒的需求。
我们可以使用以下的EL表达式来将给定的秒数转换为分和秒:[{sec div 60}分{sec mod 60}秒]其中,sec表示给定的秒数。
以下是使用EL表达式实现秒转换为分和秒的完整代码:< page language="java" >< taglib uri=" prefix="c" ><int sec = 150;>分:{sec div 60}秒:{sec mod 60}[{sec div 60}分{sec mod 60}秒]在上述代码中,我们首先定义了一个整数类型的变量sec,表示给定的秒数。
然后,在EL表达式中使用`div`运算符和`mod`运算符来将秒数转换为分和秒。
第四步:完成秒转换为分和秒的展示将上述代码保存为一个JSP文件,并在浏览器中访问该JSP文件,即可看到给定的秒数转换为分和秒的结果。
总结:通过使用EL表达式,我们可以简洁地实现将秒转换为分和秒的需求。
EL 表达式是一种强大且灵活的语言,可以用于在JSP和JSF页面中嵌入表达式,实现各种运算和计算。
对于需要对时间进行转换的需求,EL表达式是一个非常方便和高效的工具。
EL表达式
![EL表达式](https://img.taocdn.com/s3/m/225b3ad384254b35eefd3452.png)
EL表达式总结EL表达式总是用大括号括起,而且前面有一个美元符($)前缀:${expression}。
表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域)中的一个属性。
点号操作符允许你使用一个Map键或一个bean性质名来访问值,例如,使用${foo.bar}可以得到bar的值,在此,bar是Map foo的Map键名,或者是bean foo的一个性质。
放在点号操作符右边的东西必须遵循Java的标识符命名规则!(换句话说,必须以一个字母、下划线或美元符开头,第一个字符后面可以有数字,但不能有其他字符)。
点号右边只能放合法的Java标识符。
例如,${foo.1}键就不可以。
[]操作符比点号功能更强大,因为利用[]可以访问数组和List,可以把包含命名变量的表达式放在中括号里,而且可以做任意层次的嵌套,只要你受得了。
例如,如果musicList是一个ArrayList,可以用${musicList[0]}或${musicList[“0”]}来访问列表的第一个值。
EL并不关心列表索引加不加引号。
如果中括号里的内容没有用引号引起来,容器就会进行计算。
如果确实放在引号里,而且不是一个数组或List的索引,容器就会把它看作是性质或键的直接命名。
除了一个EL隐式对象(PageContext)外,其他EL隐式对象都是Map。
从这些隐式对象可以得到任意4个作用域中的属性、请求参数值、首部值、 cookie值和上下文初始化参数。
非映射的隐式对象是pageContext,它是PageContext对象的一个引用。
不要把隐式EL作用域对象(属性的Map)与属性所绑定的对象混为一谈。
换句话说,不要把requestScope隐式对象与具体的JSP隐式对象 request混淆。
访问请求对象只有一条路,这就是通过pageContext隐式对象来访问(不过,想从请求得到的一些东西通过其他EL隐式对象也可以得到,包括param/paramValues、header/headerValues和cookie)。
el表达式条件语句
![el表达式条件语句](https://img.taocdn.com/s3/m/d086956617fc700abb68a98271fe910ef02dae70.png)
el表达式条件语句1. El表达式条件语句啊,就像是生活中的选择开关。
比如说,在一个购物网站的页面上,我想根据用户是否登录显示不同的内容。
如果${user.loggedIn}为true,那就显示“欢迎回来,[用户名]”,要是为false呢,就显示“请登录或注册”。
这el表达式条件语句是不是超实用,就像一把能打开不同功能大门的钥匙。
2. 你知道el表达式条件语句吗?它可神奇啦!就好比是一个智能小管家。
想象一下,在一个公司的内部系统里,有个任务分配模块。
对于新员工,也就是当${employee.experience < 1}时,系统会给他们分配一些基础任务,像数据录入之类的。
而对于老员工,即${employee.experience >= 1}时,就会分配更复杂的项目任务。
这el 表达式条件语句是不是像一个懂得分配的小管家呢?3. El表达式条件语句哟,就像一场游戏里的不同关卡规则。
我给你讲个例子哈。
在一个在线游戏的社区里,对于普通玩家,要是${player.level < 10},那只能访问公共区域,能看到的游戏攻略也有限。
可是当${player.level >= 10},就像开启了新的世界,能进入高级玩家专属区域,看到更多独家攻略。
这条件语句是不是像游戏里神秘又有趣的规则设定呢?4. 嗨,el表达式条件语句就像是一个超级灵活的变色龙。
比如说在学校的成绩管理系统里,对于成绩优秀的学生,也就是当${student.score >= 85},页面会显示“优秀,继续加油”,用绿色字体还带个小奖杯图标呢。
而对于成绩不太理想的,像当${student.score < 60}时,页面就会显示“要努力哦,有补考机会”,用红色字体。
这el表达式条件语句是不是很像根据环境变色的变色龙呢?5. El表达式条件语句啊,就如同生活中的红绿灯。
我举个例子你就明白了。
在一个酒店预订系统里,如果${room.available}为true,就像绿灯亮了,显示“房间可预订,欢迎下单”。
el表达式写法
![el表达式写法](https://img.taocdn.com/s3/m/04e5acd218e8b8f67c1cfad6195f312b3169ebcd.png)
el表达式写法
EL(Expression
Language)是一种在JavaWeb应用中使用的表达式语言,用于在JSP 页面中简化表达式的编写。
以下是一些常见的EL表达式写法示例:
1.访问变量:
o${变量名}:直接输出变量的值。
o${对象.属性}:访问对象的属性值。
o${列表[index]}:访问列表中指定索引位置的元素值。
2.调用方法:
o${对象.方法名()}:调用对象的无参方法并输出结果。
o${对象.方法名(参数1, 参数
2, ...)}:调用对象的带参方法并输出结果。
3.算术运算:
o${数值1 + 数值2}:进行加法运算。
o${数值1 - 数值2}:进行减法运算。
o${数值1 * 数值2}:进行乘法运算。
o${数值1 / 数值2}:进行除法运算。
o${数值1 % 数值2}:取模运算。
4.逻辑运算:
o${条件1 && 条件2}:进行逻辑与运算。
o${条件1 || 条件2}:进行逻辑或运算。
o${!条件}:进行逻辑非运算。
这些是EL表达式的一些基本写法,根据具体的需求和上下文,可以使用更复杂的表达式进行计算和操作。
请注意,在使用EL表达式时,要确保正确引入EL的命名空间,并且在合适的上下文中使用E L表达式。
el表达式 多条件判断 -回复
![el表达式 多条件判断 -回复](https://img.taocdn.com/s3/m/98d37826cbaedd3383c4bb4cf7ec4afe04a1b1cb.png)
el表达式多条件判断-回复El表达式是一种在编程中经常使用的多条件判断语法。
它是一个灵活且强大的工具,可以根据特定条件执行不同的操作。
在本文中,我们将深入探讨El表达式,了解其语法结构、应用场景以及一些常见用法。
首先,让我们来看一下El表达式的基本语法。
El表达式使用方括号([])括起来,并紧跟表达式的条件部分。
条件部分是由一系列条件和操作符组成的逻辑表达式。
每个条件都包含一个逻辑表达式和对应的操作语句。
逻辑表达式通常使用比较运算符(如等于、大于等等)来比较变量的值。
操作语句是在条件满足时执行的代码块。
下面是一个简单的El 表达式的示例:el[条件1] ? [操作1] : [条件2] ? [操作2] : [操作3]这个表达式中,首先判断条件1是否满足,如果满足则执行操作1。
如果条件1不满足,则继续判断条件2是否满足,如果满足则执行操作2。
如果条件2也不满足,则执行操作3。
El表达式的使用场景非常广泛。
它可以用于控制页面的显示和隐藏、动态改变变量的值、根据不同的条件执行不同的操作等。
下面是一些常见的El表达式的用法:1. 显示和隐藏元素:El表达式可以根据特定条件控制页面元素的显示和隐藏。
例如,我们可以根据用户是否登录来显示不同的导航菜单:html<div class="menu">[isLoggedIn] ? [welcomeMenu] : [defaultMenu]</div>在这个例子中,如果用户已经登录(isLoggedIn为true),则显示欢迎菜单(welcomeMenu)。
否则,显示默认菜单(defaultMenu)。
2. 动态改变变量的值:El表达式还可以用于根据特定条件动态改变变量的值。
例如,我们可以根据用户的权限级别来设置某个变量的值:html[isAdmin] ? [userLevel] = "管理员" : [userLevel] = "普通用户"在这个例子中,如果用户是管理员(isAdmin为true),则将userLevel 变量的值设置为"管理员",否则设置为"普通用户"。
EL表达式语言简明教程
![EL表达式语言简明教程](https://img.taocdn.com/s3/m/5eb7d519ff00bed5b9f31d6a.png)
JSP/Servlet技术详解---之EL表达式语言简明教程在Jsp里面获得对象都是直接想在哪里获取就哪里嵌入<%=request. getAttribute("p")%>这样的一个好处是方便,尤其是对于程序员而言。
他们只需要在htm l的位置上嵌入标签,就可以获得所需的数据。
至于缺点嘛,显而易见,第一是美观上的问题,看到一个jsp页面密密麻麻的<% %>里面又包含了Java代码,大家都不愿多看一眼。
而且对日后的代码管理维护也是一个巨大的隐患。
什么是EL,它是JSP表达式语言(Expression Language),已经是JSP 2.0规范的一部分。
为什么强调它是JSP规范呢。
因为它事实上成了标准,使用的时候,你不需要下载配置相关的组件.EL的语法:很简单 ${ } //千万不要写成人民币的符号啊,毕竟java是老美的^ _^比如,假设我们先 request.setAttibute("person",Person);在JSP页面中如何访问person呢?<html><body>the person is: ${person}</body></html>如何访问一个对象的属性呢?例如一个对象 Person 的 name属性${}或者${person["name"]}两者是等价的。
记住"."能做到的,"[]"也能做到。
反之就不一定了访问不同的对象实例:1.访问一个普通的java bean,假设一个对象 Person 有name属性,Person person=new Person();先request.setAttibute("person",person);显示name :${}2.访问数组,利用下标直接访问String s[]={"1","2"};request.setAttribute("s",s);显示s[1]${s[1]}或者${s["1"]}3.访问 List,直接用下标进行访问ArrayList list=new ArrayList();list.add("1");list add("1");request.setAttribute("list",list);显示list[1]:${list[1]}或者${list["1"]}注意:这里你可能会举得奇怪,为什么数组和list下标可以用数字或者引号加数字其实在解析的时候,[]里面的索引都是被强制转成int的,索引随便你加不加引号吧4.访问一个Map,用.或者[]访问Map map=new Map();map.put("one","no.1");map.put("two","no.2");request.setAttribute("map",map);显示map("one"):${map.one}或者${map["one"]}注意:这里千万不能用 ${map[one]} 因为下标里面的东西如果不加引号,它就相当于一个属性,容器编译的时候就会去寻找one属性,相当于${one},找不到,当然就错了中括号里面是可以嵌套表达式的,但是,中括号里面的表达式是去掉${}的例如:${test1[test2[2]] 正确而 ${test1[${test2[2]}]编译报错EL隐含对象你可能又会问什么事隐含对象?隐式对象就是事先准备好的,你可以直接访问,不必知道是怎么来的。
EL表达式2
![EL表达式2](https://img.taocdn.com/s3/m/6055c61a6bd97f192279e95b.png)
第一种EL表达式讲解EL表达式:1. EL表达式用于获取数据,在JSP页面中使用${标识符}。
通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。
如果域对象中不存在标识符所对应的对象,则返回结果为””(注意,不是null)。
如:${test}的功能为pageContext.findAttribute(“test”);findAttribute查找顺序:pageContext\request\session\applation。
2. 可以使用${customerBean.address}的形式来访问JavaBean对象的属性。
如:${}的功能为pageContext.findAttribute(“student”).getName();3. 结合JSTL标签,EL表达式也可轻松获取各种集合中的元素。
如:<cc:forEach var="temp" items="${listobj}"><cc:out value="${temp}"></cc:out></cc:forEach>4. EL表达式也可使用类如${1==1}的形式进行简单的逻辑判断。
如:<cc:if test="${user==null}">JSTL标签库:1. JSTL是sun公司开发的一套标签库,使用JSTL可以在页面中实现一些简单的逻辑,从而替换页面中的脚本代码。
2. 在页面中使用JSTL标签需完成以下2个步骤:a) 导入jstl.jar和standerd.jar这两个JSTL的jar文件。
b) 在JSP页面中使用<%@ tablib url=“”prifix=“”%>元素导入标签库。
3. JSTL标签库中常用标签:<c:foreach var=“” items=“”><c:if test=“”>下午我们独立完成网站的登录功能:用户注册、登录(自动生成验证码、自动登录),下面粘贴出典型的代码片段:1. 登录部分,用于生成验证码功能的Servlet:import java.awt.Color;import java.awt.Font;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.IOException;import javax.imageio.ImageIO;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Identify extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//取出随机数,并放到session中用于验证String id = Identifior.getRandom();request.getSession().setAttribute("identify", id);//使用AWT的BufferedImage将验证码以图片格式写出到网页上BufferedImage bi = new BufferedImage(60, 25, BufferedImage.TYPE_3BYTE_BGR);Graphics g = bi.getGraphics();g.setColor(Color.YELLOW);g.setFont(new Font("宋体", Font.BOLD, 23));g.drawString(id, 0, 24);ImageIO.write(bi, "jpg", response.getOutputStream());}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {doGet(request, response);}}取随机数据,然后转成十六进制并返回前四位:/*** 用于生成随机数验证码* @author Administrator**/public class Identifior {private static Random random = new Random();/*** 取随机数* @return*/public static String getRandom(){return Integer.toHexString(random.nextInt()).substring(0, 4);}}校验用户登录功能的Servlet(包含自动登录):import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.Cookie;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.dom4j.DocumentException;import erBean;import erDaoXml;public class LoginServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String name = null;String password = null;String oid = null;String id = null;boolean isauto = false;//是否存在Cookie,如果存在刚查找用户信息Cookie[] cookies = request.getCookies();for(int i=0; i < cookies.length && (name == null || password==null); i++){ if(cookies[i].getName().equals("name")){name = cookies[i].getValue();isauto = true;}if(cookies[i].getName().equals("password")){password = cookies[i].getValue();isauto = true;}}//取出用户名和密码参数if(!isauto){name = request.getParameter("name");password = request.getParameter("password");oid = (String) request.getSession().getAttribute("identify");id = request.getParameter("identify");}//创建DAO,并根据用户名和密码查找用户。
el表达式将秒转分秒 -回复
![el表达式将秒转分秒 -回复](https://img.taocdn.com/s3/m/fcf7cabffbb069dc5022aaea998fcc22bcd1438f.png)
el表达式将秒转分秒-回复如何使用el表达式将秒转换为分秒。
在Web开发中,我们经常需要将时间以特定的格式展示给用户。
有时,我们需要将给定的秒数转换为分秒的形式,以便更加直观地展示时间。
在这种情况下,我们可以使用el表达式的强大功能来实现这个转换。
EL表达式全称为Expression Language表达式语言,是JavaEE规范的一部分,主要用于简化开发人员在页面上访问JavaBean或者其他对象的属性和方法。
在JSP页面中,我们可以使用el表达式来访问JavaBean的属性,计算表达式的值,并将结果输出到页面上。
那么,如何使用el表达式将秒转换为分秒呢?下面将详细介绍具体步骤。
第一步:在JSP页面中引入el表达式的命名空间。
要在JSP页面中使用el表达式,我们首先需要在页面上引入el表达式的命名空间。
在JSP页面的开头添加以下代码:java< taglib prefix="c" uri=" >这样,我们就可以在页面中使用el表达式了。
第二步:创建一个转换方法。
接下来,我们需要创建一个用于将秒转换为分秒的方法。
在JavaBean中添加如下代码:javapublic static String convertToMinuteSecond(int seconds) { int minutes = seconds / 60;int remainingSeconds = seconds 60;return minutes + "分" + remainingSeconds + "秒";}该方法接受一个整数类型的秒数作为参数,然后将秒数转换为分秒的形式,并返回转换后的字符串。
第三步:在JSP页面中使用el表达式调用转换方法。
在需要展示时间的位置,我们可以使用el表达式来调用转换方法,并将秒数作为参数传递给该方法。
如下所示:java<c:set var="seconds" value="120" /><c:out value="{myBean.convertToMinuteSecond(seconds)}" />上述代码中,我们使用`<c:set>`标签设置了一个名为"seconds"的el变量,并为其赋予了一个值120。
EL表达式完全攻略
![EL表达式完全攻略](https://img.taocdn.com/s3/m/868ac00f11a6f524ccbff121dd36a32d7375c729.png)
EL表达式完全攻略
之前的 JSP 页面中,我们经常使用 JSP 表达式来输出变量或者页面之间传递的参数,大大降低了页面的可读性。
为了简化 JSP 页面,JSP 2.0 新增了 EL(Expression Language)表达式语言。
EL 提供了更为简洁、方便的形式来访问变量和参数,不仅可以简化 JSP 页面代码,还会使开发者的逻辑变得更加清晰。
EL表达式的语法
EL 表达式语法如下:
${EL表达式}1复制代码类型:[java]
${条件表达式?表达式1:表达式2}1复制代码类型:[java]
EL保留字
\${2+3}1复制代码类型:[java]
页面输出:
${2+3}1复制代码类型:[java]
2)禁用当前页面的EL表达式
将 page 指令中的 isELIgnored 属性设置为 true,如下:
<%@ page isELIgnored="true" %>1复制代码类型:[java]
3)禁用整个Web应用的EL表达式
在 web.xml 中配置元素,如下:
<jsp-property-group>
<url-pattern>*jsp</url-pattern>
<el-ignored>false</el-ignored>
</jsp-propery-group>1234复制代码类型:[java]。
EL表达式+(详解)
![EL表达式+(详解)](https://img.taocdn.com/s3/m/996f24146c175f0e7cd137e2.png)
EL表达式(详解) EL表达式1、EL简介1)语法结构${expression}2)[]与.运算符EL 提供.和[]两种运算符来存取数据。
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。
例如:${user.My-Name}应当改为${user["My-Name"] }如果要动态取值时,就可以用[]来做,而.无法做到动态取值。
例如:${er[data]}中data 是一个变量3)变量EL存取变量数据的方法很简单,例如:${username}。
它的意思是取出某一范围中名称为username的变量。
因为我们并没有指定哪一个范围的username,所以它会依序从Page、Request、Session、 Application范围查找。
假如途中找到username,就直接回传,不再继续找下去,但是假如全部的范围都没有找到时,就回传null。
属性范围在EL中的名称Page PageScopeRequest RequestScopeSession SessionScopeApplication ApplicationScope4) 1--EL表达式用${}表示,可用在所有的HTML和JSP标签中作用是代替JSP页面中复杂的JAVA代码.2--EL表达式可操作常量变量和隐式对象. 最常用的隐式对象有${param}和${paramValues}.${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求参数的一组值.pageScope表示页面范围的变量.requestScope表示请求对象的变量.sessionScope表示会话范围内的变量.applicationScope表示应用范围的变量.3 --<%@ page isELIgnored="true"%>表示是否禁用EL语言,TRUE表示禁止.FALSE表示不禁止.JSP2.0中默认的启用EL语言.4-- EL语言可显示逻辑表达式如${true and false}结果是false关系表达式如${5>6} 结果是false 算术表达式如 ${5+5} 结果是105--EL中的变量搜索范围是:page request sessionapplication 点运算符(.)和"[ ]"都是表示获取变量的值.区别是[ ]可以显示非词类的变量2、EL隐含对象1)与范围有关的隐含对象与范围有关的EL 隐含对象包含以下四个:pageScope、requestScope、sessionScope和applicationScope;它们基本上就和JSP的pageContext、request、session和application一样;在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。
EL表达式、语法及运算
![EL表达式、语法及运算](https://img.taocdn.com/s3/m/fa0b58194431b90d6c85c71f.png)
EL表达式一、EL表达式的概念EL表达式是为了便于获取数据而定义的一种语言,JSP 2.0之后才成为一种标准。
下面的示例是一个简单的EL表达式:<%@ page contentType="text/html; charset=UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><body>${stuno + 1} <br></body></html>二、EL表达式的基本语法EL表达式的出现让Web的显示层发生了大的变革,EL表达式用于获取数据,在JSP 2.0之后成为一种标准,是由JSP 标准标签库专家组和JSP 2.0 专家组开发。
EL表达式的语法格式:${标识符}(必须以“${”开始,以“}”结束“标示符”具体表达式的内容)在JSP页面中使用的形式,通知JSP引擎调用pageContext.findAttribute()方法,以标识符为关键字从各个域对象中获取对象。
如果域对象中不存在标识符所对应的对象,则返回结果为“”(注意,不是null)。
三、语法结构1、JSP EL用于以下情形静态文本标准标签和自定义标签(可以作为元素的值,也可以在自定义或者标准动作元素的内容中使用)EL不能在脚本元素中使用2、[]与.运算符EL提供(.)和([])两种运算符来存取数据,即使用点运算符(.)和方括号运算符([])。
点运算符和方括号运算符可以实现某种程度的互换,如${}等价于${student [“name”]}。
当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号时,就一定要使用[]。
例如${ }应当改为${student[“name”] }。
如果要动态取值,就可以用[]来做,而.无法做到动态取值。
EL表达式详解
![EL表达式详解](https://img.taocdn.com/s3/m/da8b7529bcd126fff7050b0a.png)
EL诧法
• “.”不 “[ ]”运算符
– 两种运算符来存取数据。下列两者所代表的意思是一 样的
• 例: ${er.sex} • 等价于 ${er["sex"]}
– 区别:
• 当要存取的属性名称中包含一些特殊字符,如 “.” 戒“–” 等并非字母戒数字的符号,就一定要使用 [ ],例如: • ${user.My-Name } 改为 ${user["My-Name"] }
–header和headerValues
• header储存用户浏览器和服务端用来沟通的数 据,当用户请求服务器的网页时,会送出一个 记载要求信息的头文件。另外在很少机会下, 有可能同一头名称拥有丌同的值,此时必须使 用headerValues 来取得这些值。
EL 隐含对象
– initParam
• web.xml 的环境参数(Context) • 例:
四个隐含对象的说明 :
– pageScope范围和JSP的page相同,即当前页。 – requestScope范围和JSP的request相同,即从当前页通过 forward戒include方式转到的另外JSP 网页。 – sessionScope范围和JSP的session相同,就是用户持续在服 务器连接的时间内。 – applicationScope范围和JSP的application相同,是从服务器 一开始执行服务到服务器关闭为止。
EL诧法
• 例:
– ELdemo3
• 演示属性查找的顺序
– ELdemo4
• 演示带范围的属性查找方式
EL诧法
• 自劢类型转换
– EL表达式中,变量会自劢作数据类型的转换
– ${param.count + 20}
el表达式将秒转分秒 -回复
![el表达式将秒转分秒 -回复](https://img.taocdn.com/s3/m/566c179e6e1aff00bed5b9f3f90f76c661374c92.png)
el表达式将秒转分秒-回复在日常生活中,我们经常需要将以秒为单位的时间转换为分秒的形式,以便更好地理解和描述时间的流逝。
这种转换的方法之一便是使用el表达式。
本文将一步一步地回答如何使用el表达式将秒转换为分秒的问题,以帮助读者更好地理解和掌握这一转换方法。
二. 什么是el表达式?el表达式(Expression Language)是一种用于在JavaWeb应用程序中访问和操作JavaBean中属性的简洁表达方法。
它使用一种类似于原始的Java代码的语法,但更加简洁和直观。
在el表达式中,我们可以使用各种运算符和函数来处理数据。
三. 简单的el表达式示例在开始讲解如何将秒转换为分秒之前,让我们先来看一个简单的el表达式示例:{seconds div 60}:{seconds mod 60}在这个表达式中,我们使用了div运算符(表示除法)和mod运算符(表示取余)来进行时间转换。
我们将在后面的步骤中详细解释这两个运算符的用法。
四. 使用el表达式将秒转换为分秒1. 第一步:获取秒数首先,我们需要获取要转换的秒数。
可以通过各种方式获取,例如从用户输入、数据库、或者其他计算过程中得到的结果。
假设我们的秒数是一个变量名为"seconds"的整数型变量。
2. 第二步:使用el表达式进行转换接下来,我们可以使用上面提到的el表达式将秒数转换为分秒形式。
{seconds div 60}:{seconds mod 60}在这个表达式中,"seconds"表示我们要转换的秒数。
"div"运算符表示进行除法运算,"mod"运算符表示进行取余运算。
3. 第三步:获取转换结果最后,我们可以将el表达式的结果获取到。
这可以通过将el表达式放置在输出语句中实现。
<output>{seconds div 60}:{seconds mod 60}</output>这里的"<output>"标签是一个示例,实际上应该是你适用的输出标签或者语句。
el表达式例子(一)
![el表达式例子(一)](https://img.taocdn.com/s3/m/c9c49cb5a1116c175f0e7cd184254b35eefd1a07.png)
el表达式例子(一)EL表达式介绍•EL表达式是什么?•EL表达式的语法•EL表达式的应用场景EL表达式是什么?EL(Expression Language)表达式是一种用于访问和操作JSP页面中的数据的语言。
它是JSP规范的一部分,旨在简化和改进在JSP页面中处理数据的方式。
EL表达式的语法EL表达式的语法是由${}包围的表达式构成的。
以下是一些EL表达式的例子:•${user}:访问名为”user”的变量的值。
•${}:访问”user”对象中的”name”属性的值。
•${5 + 3}:进行数学运算,返回结果8。
•${empty list}:检查一个变量是否为空,此处检查名为”list”的变量是否为空。
•${er}:通过”requestScope”对象来访问存储在请求作用域中的”user”对象。
EL表达式的应用场景EL表达式在JSP页面中有多种应用场景,以下是一些常见的用法:访问变量的值EL表达式可以方便地访问页面范围、请求范围、会话范围和应用范围的变量。
例如${user}可以用来访问一个名为”user”的变量的值。
调用JavaBean的方法EL表达式可以用于调用JavaBean对象的方法。
例如${user.getName()}可以用来调用一个名为”user”的JavaBean中的getName()方法。
数学运算EL表达式可以进行简单的数学运算,如加法、减法、乘法和除法。
例如${5 + 3}会返回结果8。
集合操作EL表达式可以很容易地遍历和操作集合。
例如${list[0]}可以用来访问一个名为”list”的集合中的第一个元素。
条件判断EL表达式可以用于条件判断。
例如${empty list}可以用来检查一个名为”list”的变量是否为空。
总结:EL表达式是一种用于访问和操作JSP页面中的数据的语言。
它的语法简洁清晰,可以方便地访问变量的值、调用JavaBean的方法、进行数学运算、操作集合以及进行条件判断。
el表达式例子
![el表达式例子](https://img.taocdn.com/s3/m/5e857cd70875f46527d3240c844769eae009a31d.png)
el表达式例子EL表达式例子EL(Expression Language)是一种表达式语言,用于在JSP页面中访问和操作JavaBean中的数据。
在本文中,我们将介绍一些常见的EL表达式例子,并详细讲解其使用方法。
1. 访问对象属性EL表达式可以用于访问对象的属性值。
假设有一个名为user的JavaBean,其中包含一个属性name,我们可以使用EL表达式${}来获取user对象的name属性的值。
User user = new User();("John");${} // 输出:"John"2. 调用方法除了访问属性值,EL表达式还可以用于调用JavaBean中的方法。
假设user对象有一个名为getFullName()的方法,返回用户的全名。
User user = new User();("John");("Doe");${()} // 输出:"John Doe"3. 算术运算EL表达式支持常见的算术运算,如加法、减法、乘法和除法。
我们可以使用EL表达式进行简单的计算。
${3 + 5} // 输出:8${10 - 2} // 输出:8${2 * 3} // 输出:6${10 / 2} // 输出:54. 字符串拼接EL表达式还可以用于字符串的拼接。
只需使用两个字符串之间的加号+即可实现。
${"Hello" + " " + "World"} // 输出:"Hello World"5. 条件判断EL表达式也支持条件判断。
可以使用三元运算符? :在表达式中进行条件判断。
${ >= 18 ? '成年' : '未成年'} // 输出:根据user对象的年龄判断是成年还是未成年6. 集合操作EL表达式还可以用于对集合进行操作。
el表达式 多条件判断 -回复
![el表达式 多条件判断 -回复](https://img.taocdn.com/s3/m/3590e0484b7302768e9951e79b89680203d86bfd.png)
el表达式多条件判断-回复如何使用EL表达式进行多条件判断。
第一步:了解EL表达式的基本语法和用法EL表达式(Expression Language)是用于在Java Web应用程序中访问和操作服务器端数据的一种简化语言。
它可以用于JSP页面中的脚本部分,简化了对Java对象的访问和操作,提高了代码的可读性和维护性。
EL表达式的基本语法如下:{表达式}其中,表达式可以是一段逻辑判断语句,也可以是对对象属性或方法的访问。
第二步:使用EL表达式进行简单的条件判断在使用EL表达式进行条件判断之前,我们需要先了解它的判断关键字和语法。
EL表达式的判断关键字如下:1. eq:等于2. ne:不等于3. gt:大于4. lt:小于5. ge:大于等于6. le:小于等于EL表达式的语法示例:{条件判断语句? 真值: 假值}在这个语法中,条件判断语句会返回一个布尔值(true或false),根据该布尔值决定返回的是真值还是假值。
例如,我们可以使用如下的EL表达式判断一个变量x是否大于10:{x gt 10 ? '大于10' : '小于等于10'}如果x的值大于10,返回'大于10';否则返回'小于等于10'。
第三步:使用EL表达式进行多条件判断在实际应用中,我们经常需要进行多条件的判断。
EL表达式提供了一种简洁而强大的方式来实现这个需求。
EL表达式中的多条件判断可以通过使用逻辑运算符来实现,逻辑运算符有以下几种:1. and:逻辑与2. or:逻辑或3. not:逻辑非我们可以将多个条件通过逻辑运算符进行组合,并在EL表达式中进行判断。
例如,我们可以使用如下的EL表达式判断一个变量x是否大于10且小于20:{x gt 10 and x lt 20 ? '符合条件' : '不符合条件'}如果x的值既大于10又小于20,返回'符合条件';否则返回'不符合条件'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
initParam 取得设定 web 站点的环境参数(Context) 例:一般的方法 String userid = (String)application.getInitParameter("userid"); 可以使用 ${erid}来取得名称为 userid 4)pageContext pageContext 取得其他有关用户要求或页面的详细信息。 ${pageContext.request.queryString} 取得请求的参数字符串 ${pageContext.request.requestURL} 取得请求的 URL,但不包 括请求之参数字符串 ${pageContext.request.contextPath} 服务的 web application 的名称 ${pageContext.request.method} 取得 HTTP 的方法(GET、 POST) ${pageContext.request.protocol} 取得使用的协议(HTTP/1.1、 HTTP/1.0) ${pageContext.request.remoteUser} 取得用户名称 ${pageContext.request.remoteAddr } 取得用户的 IP 地址 ${pageContext.session.new} 判断 session 是否为新的 ${pageContext.session.id} 取得 session 的 ID ${pageContext.servletContext.serverInfo} 取得主机端的服务信息 4) 条件标签> 1.算术运算符有五个:+、-、*或$、/或 div、%或 mod 2.关系运算符有六个:==或 eq、!=或 ne、<或 lt、& gt;或 gt、<=或 le、>=或 ge 3.逻辑运算符有三个:&&或 and、||或 or、! 或 not 4.其它运算符有三个:Empty 运算符、条件运算符、()运算符 例:${empty }、${A?B:C}、${A*(B+C)} 5) EL 函数(functions) 语法:ns:function( arg1, arg2, arg3 „. argN) 其中 ns 为前置名称(prefix),它必须和 taglib 指令的前置名称一置 6) 补充: <%@ taglib prefix="c" /jstl/core_rt">/jstl/core_rt" %> FOREACH: <c:forEach items="${messages}" var="item" begin="0" end="9" step="1" varStatus="var"> „„ </c:forEach> OUT:
爱博文 提供海量资料满足您的求知欲! 本站所有资源部分转载自互联网!版权归作者所有
<c:out value="/${ername}"/> c:out>将 value 中的内容输出到当前位置,这里也就是把 logininfo 对象的 username 属性值输出到页面当前位置。 ${„„}是 JSP2.0 中的 Expression Language(EL)的语法。它定义了一个表达 式, 其中的表达式可以是一个常量(如上),也可以是一个具体的表达语句(如 forEach 循环体中 的情况)。典型案例如下: ? ${ername} 这表明引用 logininfo 对象的 username 属性。我们可以通过“.”操作符引 用对象的属性,也可以用“[]”引用对象属性, 如${logininfo[username]} 与${ername}达到了同样的效果。 “[]”引用方式的意义在于, 如果属性名中出现了特殊字符, 如“.”或 者“-”, 此时就必须使用“[]”获取属性值以避免语法上的冲突(系统开发时应尽 量避 免 这一现象的出现)。 与之等同的 JSP Script 大致如下: LoginInfo logininfo = (LoginInfo)session.getAttribute(“logininfo”); String username = logininfo.getUsername(); 可以看到,EL 大大节省了编码量。 这里引出的另外一个问题就是,EL 将从哪里找到 logininfo 对象,对于 ${ername}这样的表达式而言,首先会 从当前页面中寻找之前是 否定义了变量 logininfo,如果没有找到则依次到 Request、Session、 Application 范围内寻找,直到找到为止。如果直到最后依然没有找到匹配的 变量,则返回 null. 如果我们需要指定变量的寻找范围,可以在 EL 表达式中指定搜寻范围: ${ername} ${ername} ${ername} ${ername} 在 Spring 中,所有逻辑处理单元返回的结果数据,都将作为 Attribute 被放 置到 HttpServletRequest 对象中返回(具体实现可参见 Spring 源码中 org.springframework.web.servlet.view.InternalResourceView. exposeModelAsRequestAttributes 方法的 实现代码),也就是说 Spring MVC 中,结果数据对象默认都是 requestScope。因此,在 Spring MVC 中, 以下寻址方法应慎用: ${ername} ${ername} ? ${1+2} 结果为表达式计算结果,即整数值 3。 ? ${i>1} 如果变量值 i>1 的话,将返回 bool 类型 true。与上例比 较,可以发现 EL 会自
爱博文 提供海量资料满足您的求知欲! 本站所有资源部分转载自互联网!版权归作者所有
EL 表达式详解
EL 表达式 1、EL 简介 1)语法结构 ${expression} 2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符 号,就一定要使用 []。 例如: ${user.My-Name}应当改为${user["My-Name"] } 如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如: ${er[data]}中 data 是一个变量 3)变量 EL 存取变量数据的方法很简单,例如:${username}。它的意思是取出某 一范围中名称为 username 的变量。 因为我们并没有指定哪一个范围的 username,所以它会依序从 Page、 Request、Session、 Application 范围查找。 假如途中找到 username,就直接回传,不再继续找下去,但是假如全部的 范围都没有找到时, 就回传 null。 属性范围在 EL 中的名称 Page PageScope Request RequestScope Session SessionScope Application ApplicationScope 4) 1--EL 表达式用${}表示,可用在所有的 HTML 和 JSP 标签中作用是代替 JSP 页 面中复杂的 JAVA 代码. 2--EL 表达式可操作常量 变量 和隐式对象. 最常用的 隐式对象有${param}和 ${paramValues}. ${param}表示返回请求参数中单个字符串的值. ${paramValues}表示返回请求 参数的一组 值.pageScope 表示页面范围的变量.requestScope 表示请求对象的变量. sessionScope 表示会话 范围内的变量.applicationScope 表示应用范围的变量. 3 --<%@ page isELIgnored="true"%> 表示是否禁用 EL 语言,TRUE 表示禁 止.FALSE 表示不禁 止.JSP2.0 中默认的启用 EL 语言.
爱博文 提供海量资料满足您的求知欲! 本站所有资源部分转载自互联网!版权归作者所有
4-- EL 语言可显示 逻辑表达式如${true and false}结果是 false 关系表达式如${5>6} 结 果是 false 算术表达式如 ${5+5} 结果是 10 5--EL 中的变量搜索范围是:page request session application 点运算符(.)和"[ ]"都是 表示获取变量的值.区别是[ ]可以显示非词类的变量 2、EL 隐含对象 1)与范围有关的隐含对象 与范围有关的 EL 隐含对象包含以下四个:pageScope、requestScope、 sessionScope 和 applicationScope; 它们基本上就和 JSP 的 pageContext、 request、 session 和 application 一样; 在 EL 中,这四个隐含对象只能用来取得范围属性值,即 getAttribute(String name),却不能取得 其他相关信息。 例如: 我们要取得 session 中储存一个属性 username 的值,可以利用下列方法: session.getAttribute("username") 取得 username 的值, 在 EL 中则使用下列方法 ${ername} 2)与输入有关的隐含对象 与输入有关的隐含对象有两个:param 和 paramValues,它 们是 EL 中比较特别 的隐含对象。 例如我们要取得用户的请求参数时,可以利用下列方法: request.getParameter(String name) request.getParameterValues(String name) 在 EL 中则可以使用 param 和 paramValues 两者来取得数 据。 ${} ${} 3.其他隐含对象 1)cookie JSTL 并没有提供设定 cookie 的动作, 例:要取得 cookie 中有一个设定名称为 userCountry 的 值,可以使用 ${erCountry} 来 取得它。 2)header 和 headerValues header 储存用户浏览器和服务端用来沟通的数据 例:要取得用户浏览器的版本,可以使用${header["User- Agent"]}。 另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用 headerValues 来取得 这些值。 3)initParam