JSP--9大内置对象& EL表达式11内置对象

 

一、JSP的9大内置对象

  • request -- HttpServletRequest           :从客户端向服务器发送的请求对象
  • response  --HttpServletResponse      :从服务器端向客户端作出响应对象
  • session  -- HttpSession                      :服务器为客户端创建会话对象
  • application  -- ServletContext            :代表应用。获得的ServletContext对象。
  • out   -- JspWriter                                 :向输出流写入内容的对象。
  • page   -- Object                                   :当前的JSP翻译成Servlet后的对象的引用。
  • pageContext -- PageContext              :本JSP的页面的上下文对象。
  • config   -- ServletConfig                      :本JSP的ServletConfig对象。
  • exception  -- Throwable                      :表示JSP页面运行时产生的异常对象。     

二、EL表达式

 EL表达式语句在执行的时候,会调用pageContext.findAttribute()方法。分别从page、request、session、application范围查         找  相应对象,找到就会返回相应对象,找不到返回””(不是null,是空的字符串)。EL所获取的数据需要在四个作用范围中。

     EL表达式定义了 11 个web开发常用对象。其中pageContext 是PageContext对象, 其他是Map对象

  • pageContext  -- PageContext                        :相当于JSP内置对象中pageContext
  • pageScope -- Map<String,Object>                :获取指定域下的名称的数据
  • requestScope -- Map<String, Object>           :获取指定域下的名称的数据
  • sessionScope  -- Map<String, Object>         :获取指定域下的名称的数据
  • applicationScope -- Map<String, Object>     :获取指定域下的名称的数据
  • param -- Map<String,String>                          :在页面中接收请求参数(接收一个名称对应一个值参数)。
  • paramValues -- Map<String, String[]>            :在页面中接收请求参数(接收一个名称对应多个值参数)。
  • header  -- Map<String,String>                        :在页面上获取请求头(获取一个key对应一个value 头)
  • headerValues --Map<String,String[]>             :在页面上获取请求头(获取一个key对应多个value 头)
  • cookie  -- Map<String,Cookie>                       :map 的key是Cookie的名字(${cookie.key.name} ${cookie.key.value})
  • initParam -- Map<String,String>                     :获取全局初始化参数的值

1.pageContextPageContext类型,pageContext.getRequest,可以${pageContext.request}。

PageModel pageModel = service.find();
request.setAttribute("pageModel");

i.取出pageModel对象
pageModel==>pageModel对象ii.取出pagesize属性pageModel==>pageModel对象ii.取出pagesize属性{pageModel.pagesize}==>pageModel.getPagesize()
ii.取出响应的列表:list属性
${pageModel.list}==>pageModel.getList()

2.pageScope:Map<String,Object>类型,${pageScope.xxx}的功能相等与pageContext.getAttribute(“xxx”)。两者的区别在于,前者在数据不存在时返回空字符串,而后者返回null。

3.requestScope:Map<String, Object>类型,装载了request对象中的所有数据。

4.sessionScope:Map<String, Object>类型,装载了session对象中的所有数据。

5.applicationScope:Map<String, Object>类型,装载了application对象中的所有数据。
        当EL中给出的不是隐藏对象时,表示在四个域中查找数据。例如:${a},表示

  ①在${pageScope.a}中查找,如果找到就返回。

  ②在${requestScope}中查找,如果找到就返回。

  ③在${sessionScope}中查找,如果找到就返回。

     ④在{applicationScope}中查找,如果找到就返回,找不到就返回空字符串。

6.param:Map<String,String>类型,可以用来获取参数,与request.getParameter()方法相同。
/rams?username=wubin,获得username参数值
方式一:<% String username = request.getParameter("username") %>
方式二:${param.username} ==> param.get("username")

7.paramValues:Map<String, String[]>类型,同一参数名对应多个值(比如,checkbox)
/rams?interests=足球&interests=读书
方式一:<% String username = request.getParameterNames("interests") %>
方式二:${paramValues.interests} ==> paramValues.get("interests")

8.header:Map<String,String>类型,用来获取请求头。

9.headerValues:Map<String,String[]>类型,同一个请求头对应多值。

10.cookie:Map<String,Cookie>类型,key是Cookie的名字,而值是Cookie对象本身。7

11.initParam:Map<String,String>类型,对应web.xml文件中的<context-param>参数。
${initParam.contextConfigLocation}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值