欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

EL表达式隐式对象

程序员文章站 2022-03-08 22:49:22
...

隐式对象(EL中定义了11个隐含对象)

不需要new就能使用的对象,是EL自带的对象

一、作用域访问对象

使用EL访问jsp四个作用域中的对象:pageContext ,request,session,application
语法:
假设我们有一个Student实体对象,叫做stu,它还有个属性是name,我们在一个servlet中分别调用四个作用域对象的setAttribute方法(如下图),将这个stu对象先存储在不同的域中。
EL表达式隐式对象
然后我们再回到jsp中看EL表达式调用这各stu对象的语法(如下图)。
EL表达式隐式对象

如果不指定域对象,则默认依次按照作用域范围从小到大的顺序取值,即pageScope->requestScope->sessionScope->applicationScope(语法如下)

${stu.name}

二、参数访问对象 (获取表单数据)

主要有以下两种方式:
-Param : 获取文本框、密码框、单选框等的值
-paramValues :获取复选框的值

例:
下图是个表单的代码,里面包含一个text和一个多选框checkbox

<form action="display.jsp">
    name:<input type="text" name="name">
    hobby: basketball<input type="checkbox" value="basketball" name="hobbies">
           volleyball<input type="checkbox" value="volleyball" name="hobbies">
           football<input type="checkbox" value="football" name="hobbies">
    <input type="submit">
</form>

下面是在jsp页面通过EL获取表单信息的代码

-------获取表单数据-----
${param.name}
${paramValues.hobbies[0]}
${paramValues.hobbies[1]}
${paramValues.hobbies[2]}

三、pageContext(访问jsp隐式对象)

在jsp中通过EL中的pageContext对象得到jsp中的一切内置对象。因此如果要在EL中使用jsp内置对象可以通过pageContext间接获取。
pageContext是连接EL和jsp内置对象的桥梁。

 ${pageContext.page}
 ${pageContext.request}//取得request对象
 ${pageContext.resbonse}//取得response对象
 ${pageContext.exception}//取得exception对象
 。。。。。。类似的还可以得到jsp其他内置对象

还可以使用此方法级联获取方法(就是再获取jsp内置对象的方法):
例:

${pageContext.request.serverPort}

四、其他隐式对象

因为用的较少,所以不在详细说明
EL表达式隐式对象

五、尾声

   以上内容为本人近期学习后的总结,如有不足,请多指教。