JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】(二)

简介: 表达式语言(Expression Language,EL),EL表达式是用"${}"括起来的脚本,用来更方便的读取对象!

获取JavaBean的属性

  • 以前在JSP页面获取JavaBean的数据是这样子的
  • 1.jsp页面Session存进一个Person对象,设置age的属性为22
  <jsp:useBean id="person" class="domain.Person" scope="session"/>
    <jsp:setProperty name="person" property="age" value="22"/>

在2.jsp中取出Session的属性

<%
    Person person = (Person) session.getAttribute("person");
    System.out.println(person.getAge());
%>

效果如下61.jpg

现在我使用了EL表达式读取数据又会非常方便了

 //等同于person.getAge()
    ${person.age}

62.jpg

  • 上面的代码 等同于调用对象的getter方法,内部是通过反射机制完成的

获取集合的数据

  • 集合操作在开发中被广泛地采用,在EL表达式中也很好地支持了集合的操作!可以非常方便地读取Collection和Map集合的内容
  • 为了更好地看出EL表达式的强大之处,我们也来对比一下使用EL表达式和不使用EL表达式的区别
  • 下面不使用EL表达式输出集合的元素
  • 在1.jsp页面中设置session的属性,session属性的值是List集合,List集合装载的又是Person对象
  <%
        List<Person> list = new ArrayList();
        Person person1 = new Person();
        person1.setUsername("zhongfucheng");
        Person person2 = new Person();
        person2.setUsername("ouzicheng");
        list.add(person1);
        list.add(person2);
        session.setAttribute("list",list);
    %>

在2.jsp中获取到session的属性,并输出到页面上

 <%
        List<Person> list = (List) session.getAttribute("list");
        out.write(list.get(0).getUsername()+"<br>");
        out.write(list.get(1).getUsername());
    %>

使用EL表达式又是怎么样的效果呢?我们来看看

<%--取出list集合的第1个元素(下标从0开始),获取username属性--%>
${list[0].username}
<br>
<%--取出list集合的第2个元素,获取username属性--%>
${list[1].username}

同样也可以有相同的效果:63.jpg

  • 我们再来使用一下Map集合
  • 在1.jsp中session属性存储了Map集合,Map集合的关键字是字符串,值是Person对象
<%
    Map<String, Person> map = new HashMap<>();
    Person person1 = new Person();
    person1.setUsername("zhongfucheng1");
    Person person2 = new Person();
    person2.setUsername("ouzicheng1");
    map.put("aa",person1);
    map.put("bb",person2);
    session.setAttribute("map",map);
%>
目录
相关文章
|
Java 应用服务中间件
jsp数据交互(一)
jsp数据交互(一)
|
存储 缓存 Java
JSP九大内置对象及基本使用
JSP九大内置对象及基本使用
370 0
|
SQL Java 数据库连接
JSP商品进出库管理系统myeclipse开发sql数据库bs框架java编程jdbc
JSP 商品进出库管理系统是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为SQLSERVER2008,使用java语言开发,系统主要采用B/S模式开发。
250 0
|
Java
17JavaWeb基础 - JSP的九大内置对象/四大作用域
17JavaWeb基础 - JSP的九大内置对象/四大作用域
229 0
|
XML Java 数据格式
jsp 页面之${fn:}内置函数列表
jsp 页面之${fn:}内置函数列表
244 0
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
626 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 6
**JSP JSTL 摘要:** JSTL是JSP的标签库,包含核心、格式化、SQL、XML和函数5类标签。它用于执行常见任务,如迭代、条件判断和XML操作。JSTL函数库提供字符串处理函数,如`contains()`, `endsWith()`, `escapeXml()`等,方便XML和HTML处理。通过`&lt;%@ taglib %&gt;`导入,如`fn:trim()`用于去除字符串两端空白。
186 5
|
缓存 Java 应用服务中间件
JSP的内置对象 request和response
这篇文章详细介绍了JSP的内置对象,包括request、response、out、session和application对象的使用方法和特性,以及如何通过这些对象处理HTTP请求和响应、管理会话和输出数据。
|
XML 前端开发 Oracle
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
16:JSP简介、注释与Scriptlet、Page指令元素、Include操作、内置对象、四种属性-Java Web
405 2
|
存储 Java
JSP 教程 之 JSP 表达式语言 8
**JSP EL简化了JavaBean数据访问,支持算术和逻辑表达式,允许使用数字、字符串及布尔值。示例展示如何获取HTTP头信息:`${header[&quot;user-agent&quot;]}`显示&quot;user-agent&quot;头信息。`header`单值,`headerValues`为数组。**
170 0