EL表达式的内置对象param参数隐藏对象

----------------------- EL表达式的内置对象param参数隐藏对象-------------------------------

EL内置对象

在EL表达式中,无需创建就可以使用的对象称之为EL隐藏(隐含、内置)对象。在EL中一共有11个隐藏对象,它们都与Map相似。其中10是Map,一个是 PageContext

 

1 参数隐藏对象

这些隐藏对象都是Map类型!

  1. param:param是Map类型!param对象可以用来获取参数,与request.getParameter()方法相同。

EL表达式的内置对象param参数隐藏对象_第1张图片

 

注意,在使用EL获取参数时,如果参数不存在,返回的是空字符串,而不是null。这一点与使用request.getParameter()方法是不同的。

EL表达式的内置对象param参数隐藏对象_第2张图片

 

 

  1. paramValues:paramValues是Map类型,当一个参数名,对应多个参数值时可以使用它。

EL表达式的内置对象param参数隐藏对象_第3张图片

  1. header:header是Map类型,用来获取请求头。

EL表达式的内置对象param参数隐藏对象_第4张图片

  1. headerValues:headerValues是Map类型。当一个请求头名称,对应多个值时,使用该对象,这里就不在赘述。
  2. initParam:initParam是Map类型。它对应web.xml文件中的参数。

EL表达式的内置对象param参数隐藏对象_第5张图片

  1. cookie:cookie是Map类型,其中key是Cookie的名字,而值是Cookie对象本身。

EL表达式的内置对象param参数隐藏对象_第6张图片

 

Login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

Insert title here

      

              账号:

              密码:

              登录">

      

      


       <%

              String username = request.getParameter("username");

              String password = request.getParameter("password");

             

              //添加cookie对象

              response.addCookie(new Cookie("personName","likunpeng"));

        %>

        

<%=username %>

        

<%=password %>

        


        <%-- 当值为空时EL表达式输出的是空字符串而不是null --%>

        <%-- 单值接收 --%>

        

${param.username}

        

${param.password}

        


        <%--多值接收 --%>

        

${paramValues.favor[0] },${paramValues.favor[1] }

        


        

头信息的接收

        

${header.Host }

        


        

servletContext级别的参数获取

        

${initParam.person_name }

        


        

cookie取值

        

${cookie.personName.name }:${cookie.personName.value }

 

你可能感兴趣的:(EL表达式和JSTL标签详解)