[Java Web] EL

匿名 (未验证) 提交于 2019-12-02 20:37:20

一、概述

使用EL表达式可简化JSP中对象的引用,使代码更加规范,可读性与可维护性更好。

属性范围 EL实例 说明
Page ${pageScope.name} 获取Page范围的名为name的属性
Request ${requestScope.name} 获取Request范围的名为name的属性
Session ${sessionScope.name} 获取Session范围的名为name的属性
Application ${applicationScope.name} 获取Application范围的名为name的属性
无指定范围 ${name} 获取以上所有范围的名为name的属性

 

 

 

 

 

 

 

二、运算符

<%@ page import="bean.Student" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page isELIgnored="false" %> <html> <body> <!-- 空判断运算 --> <%     session.setAttribute("java", 0);     request.setAttribute("javascript", 1); %> ${empty sessionScope.java}<br/> ${empty javascript}<br/> ${empty null}<br/>  <!-- 访问数据 --> <jsp:useBean class="bean.Student" id="stu" scope="session"/> <jsp:setProperty name="stu" property="id" value="30"/> <jsp:setProperty name="stu" property="name" value="Yao"/> <%     int[] array = {0, 1, 2, 3};     session.setAttribute("array", array); %> ${stu.id}<br/> ${stu["name"]}<br/> ${array[1]}<br/>  <!-- 算术运算符 --> <%     session.setAttribute("x", 0);     session.setAttribute("y", 1); %> ${x+y}<br/> ${x-y}<br/> ${x*y}<br/> ${x/y}<br/> ${x div y}<br/> ${x%y}<br/> ${x mod y}<br/>  <!-- 关系运算符 --> ${x==y}<br/>    ${x eq y}<br/> ${x!=y}<br/>    ${x ne y}<br/> ${x > y}<br/>   ${x gt y}<br/> ${x >= y}<br/>  ${x ge y}<br/> ${x < y}<br/>   ${x lt y}<br/> ${x <= y}<br/>  ${x le y}<br/>  <!-- 逻辑运算符 --> <%     session.setAttribute("x", true);     session.setAttribute("y", false); %> ${x && y}<br/>  ${x and y}<br/> ${x || y}<br/>  ${x or y}<br/> ${!x}<br/>      ${not y}<br/>  <!-- 条件运算符 --> ${x?x:y}<br/>  </body> </html>
View Code

 

三、隐含对象

<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page isELIgnored="false" %> <html> <body> <!-- 使用pageContext获取内置对象及其属性 --> 请求:${pageContext.request}<br/> 协议:${pageContext.request.protocol}<br/>  <!-- 使用param获取单个参数 --> <!-- 使用paramValues获取多个参数 --> <form action="index.jsp" method="post">     <input type="text" name="user" placeholder=""/><br/>     <input type="checkbox" name="like" value="篮球" placeholder=""/>篮球     <input type="checkbox" name="like" value="足球" placeholder=""/>足球     <input type="checkbox" name="like" value="网球" placeholder=""/>网球     <input type="checkbox" name="like" value="棒球" placeholder=""/>棒球     <br/>     <input type="submit" value="提交"><br/> </form> 用户:${param.user}<br/> 爱好:<!-- 参数不存在时返回空字符串 --> ${paramValues.like[0]} &nbsp; ${paramValues.like[1]} &nbsp; ${paramValues.like[2]} &nbsp; ${paramValues.like[3]} &nbsp; <br/>  <!-- 使用header获取单个头值 --> <!-- 使用headerValues获取多个头值 --> 连接:${header.connection}<br/> 主机:${header["host"]}<br/> 代理:${header["user-agent"]}<br/>  <!-- 使用cookie对象获取cookie --> <%     Cookie testCookie = new Cookie("testCookie", "cookieContent");     response.addCookie(testCookie); %> Cookie:${cookie.testCookie.value}<br/>  <!-- 使用initParam获取初始化参数 --> <!-- <context-param>         <param-name>project</param-name>         <param-value>java web</param-value> </context-param> <context-param>         <param-name>language</param-name>         <param-value>java</param-value> </context-param> --> 项目:${initParam.project}<br/> 语言:${initParam.language}<br/> </body> </html>
View Code

 

四、禁用

<!-- index.jsp --> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <!-- 禁用方法1 --> <%@ page isELIgnored="true" %> <html> <body> <!-- 禁用方法2 --> <!-- 显示反斜杠后的全部内容而非EL表达式的结果 --> \${pageContext.session.id} </body> </html>    <!-- web.xml --> <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"          version="4.0">     <!-- 禁用方法3 -->     <jsp-config>         <jsp-property-group>             <url-pattern>*.jsp</url-pattern>             <el-ignored>true</el-ignored>         </jsp-property-group>     </jsp-config> </web-app>
View Code

 

[Java Web] EL

原文:https://www.cnblogs.com/arseneyao/p/9371650.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!