天天看点

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

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

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

一、作用域访问对象

使用EL访问jsp四个作用域中的对象:pageContext ,request,session,application

语法:

假设我们有一个Student实体对象,叫做stu,它还有个属性是name,我们在一个servlet中分别调用四个作用域对象的setAttribute方法(如下图),将这个stu对象先存储在不同的域中。

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

然后我们再回到jsp中看EL表达式调用这各stu对象的语法(如下图)。

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

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

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

主要有以下两种方式:

-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内置对象的方法):

例:

四、其他隐式对象

因为用的较少,所以不在详细说明

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

五、尾声

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