博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EL 表达式的 11 个隐含对象
阅读量:3967 次
发布时间:2019-05-24

本文共 3084 字,大约阅读时间需要 10 分钟。

11 个隐含对象

EL 表达式中有 11 个隐含对象,是 EL 表达式中自己定义的,可以直接使用。

  • 变量 					 类型 								作用   pageContext		    PageContextImpl 			它可以获取 jsp 中的九大内置对象   pageScope 		    Map
    它可以获取 pageContext 域中的数据 requestScope Map
    它可以获取 Request 域中的数据 sessionScope Map
    它可以获取 Session 域中的数据 applicationScope Map
    它可以获取 ServletContext 域中的数据 param Map
    它可以获取请求参数的值 paramValues Map
    它也可以获取请求参数的值,获取多个值的时候使用。 header Map
    它可以获取请求头的信息 headerValues Map
    它可以获取请求头的信息,它可以获取多个值的情况 cookie Map
    它可以获取当前请求的 Cookie 信息 initParam Map
    它可以获取在 web.xml 中配置的
    上下文参数

i. EL 获取四个特定域中的属性

pageScope ====== pageContext 域

requestScope ====== Request 域
sessionScope ====== Session 域
applicationScope ====== ServletContext 域

示例:

    <%        pageContext.setAttribute("key","pageContext");        request.setAttribute("key","request");        session.setAttribute("key","session");        application.setAttribute("key","application");    %>    ${pageScope.key}
<%--pageContext--%> ${requestScope.key}
<%--request--%>

ii. pageContext 对象的使用

  1. 协议:
  2. 服务器 ip:
  3. 服务器端口:
  4. 获取工程路径:
  5. 获取请求方法:
  6. 获取客户端 ip 地址:
  7. 获取会话的 id 编号

示例:

    <%--        request.getScheme() 它可以获取请求的协议        request.getServerName() 获取请求的服务器ip或域名        request.getServerPort() 获取请求的服务器端口号        getContextPath() 获取当前工程路径        request.getMethod() 获取请求的方式(GET或POST        request.getRemoteHost()  获取客户端的ip 地址        session.getId() 获取会话的唯一标识    --%>    <%        pageContext.setAttribute("req",request);    %>    <%=request.getScheme()%>
1. 协议:${req.scheme}
2. 服务器 ip:${pageContext.request.serverName}
3. 服务器端口:${pageContext.request.serverPort}
4. 获取工程路径:${pageContext.request.contextPath}
5. 获取请求方法:${pageContext.request.method}
6. 获取客户端 ip 地址:${pageContext.request.remoteHost}
7. 获取会话的 id 编号:${pageContext.session.id};

iii. EL 表达式其他隐含对象的使用

  • param Map<String,String> 它可以获取请求参数的值
  • paramValues Map<String,String[]> 它也可以获取请求参数的值,获取多个值的时候使用。

示例代码:

输出请求参数password的值:${ param.password } 
输出请求参数username的值:${ paramValues.username[0] }
输出请求参数hobby的值:${ paramValues.hobby[0] }
输出请求参数hobby的值:${ paramValues.hobby[1] }

请求地址:http://localhost:8080/10_EL/otherparam.jsp?username=zhangsan&username=lisi&password=123&hobby=dance&hobby=sing

结果:
在这里插入图片描述

  • header Map<String,String> 它可以获取请求头的信息
  • headerValues Map<String,String[]> 它可以获取请求头的信息,它可以获取多个值的情况

示例代码:

<%--    含特殊符号的要用中括号括起来--%>    输出请求头【User-Agent】的值:${header['User-Agent']}
输出请求头【Connection】的值:${header.Connection}
输出请求头【User-Agent】的值:${headerValues['User-Agent'][0]}

结果:

在这里插入图片描述

  • cookie Map<String,Cookie> 它可以获取当前请求的 Cookie 信息

示例代码:

获取Cookie的名称:${cookie.JSESSIONID.name}
获取Cookie的值:${cookie.JSESSIONID.value}

结果:

在这里插入图片描述

  • initParam Map<String,String> 它可以获取在 web.xml 中配置的上下文参数

web.xml 中的配置

username
root
url
jdbc:mysql:///bjpowernode

注意:改变了web.xml配置文件一定要重新部署工程

示例代码:

输出<Context-param>username的值:${initParam.username} 
输出<Context-param>url的值:${initParam.url}

结果:

在这里插入图片描述

转载地址:http://rluki.baihongyu.com/

你可能感兴趣的文章
Linux下安装eclipse并配置环境变量
查看>>
assertion 'GTK_IS_WIDGET (widget)' failed的解决办法
查看>>
Ubuntu登录管理员账户时,输入密码后一直在登录界面循环
查看>>
Linux下的定时器以及POSIX定时器:timer_settime()
查看>>
POSIX定时器timer_create()以及线程中的gettid() 和pthread_self()
查看>>
c /c++中日期和时间的获取:strftime()函数
查看>>
C语言 回调函数
查看>>
c语言swap(a,b)值交换的4种实现方法
查看>>
c 排序 汇总
查看>>
C 二维数组的动态申请与释放
查看>>
C/C++中产生随机数(rand和srand的用法)
查看>>
c/c++ 中的 struct和typedef struct
查看>>
C++中class类 的 构造函数、析构函数
查看>>
C++小知识点
查看>>
【转载】zedboard中PL_GPIO控制(8个sw、8个leds)
查看>>
zedboard烧写程序到FLASH,用于QSPI Flash启动
查看>>
软件工程师,你必须知道的20个常识
查看>>
常用STL算法2_查找
查看>>
常用STL算法3_排序
查看>>
常用STL算法4_拷贝和替换
查看>>