![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| EL隐含对象 | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间:2007-9-2 ![]() |
||||||
|
EL隐含对象
1.与范围有关的隐含对象 与范围有关的EL 隐含对象包含以下四个: pageScope、requestScope、sessionScope 和applicationScope; 它们基本上就和JSP的pageContext、request、session和application一样; 在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得其他相关信息。
例如:我们要取得session中储存一个属性username的值,可以利用下列方法: session.getAttribute("username") 取得username的值, 在EL中则使用下列方法 ${sessionScope.username} 2.与输入有关的隐含对象 与输入有关的隐含对象有两个:param和paramValues,它们是EL中比较特别的隐含对象。 例如我们要取得用户的请求参数时,可以利用下列方法: request.getParameter(String name) request.getParameterValues(String name) 在EL中则可以使用param和paramValues两者来取得数据。 ${param.name} ${paramValues.name} 例子说明: param表明请求包含的参数为单一控件,paramValues表明请求包含的参数为控件数组。下面看一个简单示例9.3: 例子:提交请求的页面和接受的页面 <%@ page contentType="text/html; charset=UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> <form action="SampleJsp.jsp"> <input type="text" name="sampleValue" value="10"> <input type="text" name="sampleValue" value="11"> <input type="text" name="sampleValue" value="12"> <input type="text" name="sampleSingleValue" value="SingleValue"> <input type="submit" value="Submit"> </form> </body> </html> 在这个页面中定义了两组控件,控件名为“sampleValue”的是一套控件数组,控件名为“sampleSingleValue”的是单一控件,通过递交将请求参数传送到SampleJsp.jsp。 <%@ page contentType="text/html; charset=UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <body> ${paramValues.sampleValue[2]} <br> ${param.sampleSingleValue} <br> </body> </html> 3.其他隐含对象 cookie JSTL并没有提供设定cookie的动作, 例:要取得cookie中有一个设定名称为userCountry的值,可以使用${cookie.userCountry}来取得它。 header和headerValues header 储存用户浏览器和服务端用来沟通的数据 例:要取得用户浏览器的版本,可以使用${header["User-Agent"]}。 另外在鲜少机会下,有可能同一标头名称拥有不同的值,此时必须改为使用headerValues 来取得这些值。 initParam initParam取得设定web站点的环境参数(Context) 例:一般的方法String userid = (String)application.getInitParameter("userid"); 可以使用 ${initParam.userid}来取得名称为userid 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} 取得主机端的服务信息 三、EL运算符 1.算术运算符有五个:+、-、*或$、/或div、%或mod 2.关系运算符有六个:==或eq、!=或ne、<或lt、>或gt、<=或le、>=或ge 3.逻辑运算符有三个:&&或and、||或or、!或not 4.其它运算符有三个:Empty运算符、条件运算符、()运算符 例:${empty param.name}、${A?B:C}、${A*(B+C)} 本文来源:http://blog.csdn.net/pkroseA/archive/2007/08/23/1756793.aspx
|
||||||
| 文章录入:admin 责任编辑:admin | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|