隐式对象(EL中定义了11个隐含对象)
不需要new就能使用的对象,是EL自带的对象
一、作用域访问对象
使用EL访问jsp四个作用域中的对象:pageContext ,request,session,application
语法:
假设我们有一个Student实体对象,叫做stu,它还有个属性是name,我们在一个servlet中分别调用四个作用域对象的setAttribute方法(如下图),将这个stu对象先存储在不同的域中。
然后我们再回到jsp中看EL表达式调用这各stu对象的语法(如下图)。
如果不指定域对象,则默认依次按照作用域范围从小到大的顺序取值,即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内置对象的方法):
例:
四、其他隐式对象
因为用的较少,所以不在详细说明
五、尾声
以上内容为本人近期学习后的总结,如有不足,请多指教。