EL(expression Language表达式语言)表达式提供了在JSP中简化表达式的写法,可以方便地访问各种数据并输出
主要功能- 依次访问pageContext(当前页面中)、request(当前请求中有效)、session(当前会发中有效)和application(服务器中有效)作用域对象存储的数据。
- 获取请求参数值。
- 访问Bean对象的属性。
- 访问集合中的数据。
- 输出简单的运算结果。
- <%=request.getAttribute(“ varName”)%>
- 用EL实现就是: ${ varName }
<%@ page contentType="text/html;charset=UTF-8" language="java" %>访问请求参数的数据Title <% //pageContext.setAttribute("name1","pageContext对象中的值"); request.setAttribute("name2","request对象中的属性值:guanyu");//设置属性值 session.setAttribute("name3","session对象中的属性值:liubei"); application.setAttribute("name4","application对象中的属性值:zhaoyun"); %> <%--使用JSP中原始方式获取数据和打印--%> <%= "name2的数值为"+request.getAttribute("name2")%>
<%= "name3的数值为"+session.getAttribute("name3")%>
<%--使用EL表达式实现获取数据和打印--%> name2的数值为:${ name2 }
name3的数值为:${ name3 }
name4的数值为:${ name4 }
就是前台页面那边传过来的数据
- 在EL之前使用下列方式访问请求参数的数据
request.getParameter(name); request.getParameterValues(name);
在EL中使用下列方式访问请求参数的数据
- param:接收的参数只有一个值。
- paramValues:接受的参数有多个值
${param.name} ${paramValues.hobby[0]}用一下
写param.jsp为el_param.jsp传参
- 用name传递参数,这个参数只有一个值
- hobby有多个值
param.jsp如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>实现一个简单页面负责向JSP页面传递参数
el_param.jsp如下
<%@ page contentType="text/html;charset=UTF-8" language="java" %>实现请求参数数值的获取 <% request.setCharacterEncoding("utf-8");//解决乱码 %> <%--使用JSP语法中原始方式获取请求参数值--%> <%--<%="姓名是:"+request.getParameter("name")%>
<%="爱好是:"+ Arrays.toString(request.getParameterValues("hobby"))%>
--%> <%--使用el表达式中的方式获取请求参数值--%> 姓名是:${param.name}
爱好是:${paramValues.hobby[0]}
插曲:
遇到pageContext不能setAttribute,在pom.xml中引入依赖包坐标即可
javax.servlet.jsp jsp-api2.2
就是访问成员变量值
访问方式方式一: $ { 对象名 . 属性名 },例如:${user.name}
方式二: $ { 对象名 [“属性名”] },例如:${user[“name”]}
当要存取的属性名中包含一些特殊字符,如: . 或 ,等并非字母或数字的符号,就一定要使用 [ ]而
不是.的方式
使用[]的方式可以动态取值,具体方式如下:
<% request.setAttribute(“prop”,“age”); %> ${ user[prop] }
在com.example.task_web目录下创建Person类
用el_bean.jsp文件实现Bean对象中属性的额获取和打印
<%@ page contentType="text/html;charset=UTF-8" language="java" %>EL表达式访问集合中的数据实现Bean对象中属性的额获取和打印 <% Person person = new Person(); person.setName("zhangfei"); person.setAge(18); pageContext.setAttribute("person",person); %> <%--使用el表达式实现属性的获取和打印--%> 获取到的姓名是:${person.name}
获取到的年龄是:${person.age}
<%--另一种写法--%> ${person["name"]}
${person["age"]}
${student[0].name}EL表达式常用的内置对象 常用的运算符和关系运算符
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)