JSP九大隐含对象和EL表达式

jsp页面9大隐含对象
    这9个隐含对象是tomcat在翻译jsp到Java文件阶段给我们创建好的,我们可以直接拿来使用
    1.request:相当于servlet中的request作用域
        1.1存值:request.setAttribute(name,value);
        1.2取值:request.getAttribute(name);
    2.response:相当于servlet中的response对象
        设置响应类型和编码格式:response.setContentType();
                                          response.setCharacterEncoding();
    3.session:相当于servlet中的session作用域
        3.1存值:session.setAttribute(name,value);
        3.2取值:session.getAttribute(name);
    4.application:相当于servlet中servletContext作用域
        4.1存值:application.setAttribute(name,value);
        4.2取值:application.getAttribute(name);
    5.pageContext:也是一个作用域功能对象,作用范围仅限于当前的jsp页面
        5.1基本使用
            存值:pageContext.setAttribute(name,value);
            取值:pageContext.getAttribute(name);
        5.2使用pageContext对象操作其他作用域
            pageContext.setAttribute(name,value,指定操作哪一个作用域);
        5.3按作用域从小到大的顺序搜索命名属性
            pageContext.findAttribute(name);  找到则返回,找不到返回null
    6.out:相当于servletx中response.getWriter()获取输出流作用
             可以向页面输出结果
    7.config:相当于servletConfig对象 
    获取ServletConfig对象 封装了当前servlet在web.xml中的配置信息
    8.exception:只有isErrorPage=true的页面才有,封装了捕捉到的页面信息
    9.page:相当于this,指当前jsp对象

EL表达式
    1.EL表达式是一种表达式语言,主要用于数据的展示相关操作,未来EL表达式会配合jstl标签完成jsp页面数据的展示。EL表达式会替换掉大部分的脚本
    2.语法:${}
        注意:使用EL表达式的jsp页面必须保证isELIgnored=false
    3.EL表达式的使用
        3.1算数运算的使用
            1+1=${1+1 }<br>
            1-1=${1-1 }<br>
            1*1=${1*1 }<br>
            1/1=${1/1 }<br>
        3.2关系运算的使用
            1&gt;2 == ${1>2 } - ${1 gt 2 }<br>
            1&lt;2 == ${1<2 } - ${1 lt 2 }<br>
            1&gt;=2 == ${1>=2 } - ${1 ge 2 }<br>
            1&lt;=2 == ${1<=2 } - ${1 le 2 }<br>
            1!=2 == ${1!=2 } - ${1 ne 2 }<br>
            1==2 == ${1==2 } - ${1 eq 2 }
        3.3逻辑运算的使用 and or
            ${1>2 and 1<2 } - ${1>2 && 1<2 } <br>
            ${1>2 or 1<2 } - ${1>2 || 1<2 } <br>
            ${!(1>2 and 1<2) } - ${not(1>2 && 1<2) }
    4.使用EL表达式从作用域中取数据
        4.1基本语法
            request:${requestScope.name} == <%=request.getAttribute(name)%>
            pageContext:${pageScope.name} == <%=pageContext.getAttribute(name)%>
        4.2取自定义对象类型的属性值
            <%Person person = new Person(1,"小红","18"); 
                request.setAttribute("person", person);
            %>
            ${requestScope.person.name }<br>
            ${requestScope.person.age }
        4.3获取list集合元素的值
            <%List<String> list = new ArrayList<String>(); 
                list.add("小王");
                list.add("小张");
                list.add("小李");
                request.setAttribute("list", list);
            %>
            ${requestScope.list[1] }  //小张 ${requestScope.list[index] }
        4.4获取map集合元素的值 根据key取value
            <%Map<String,String> map = new HashMap<String,String>(); 
                map.put("一号", "貂蝉");
                map.put("二号", "西施");
                map.put("三号", "王昭君");
                map.put("四号", "杨玉环");
                request.setAttribute("map", map);
            %>
        
            ${requestScope.map['三号'] }
    5.从作用域搜索命名属性 从小到大
        ${name} == <%=pageContext.findAttribute(name)%>
    6.EL表达式中其他内置对象
        6.1 pageContext:实现动态获取项目名 
        ${pageContext.request.ContextPath} 相当于 request.getContextPath();
        6.2 param:实现获取客户端请求参数
        ${param.name} == request.getParameter(name);
        6.3 paramValues:获取一组参数
        ${paramValues.hobby[0]}
        
        
        
        
        

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值