如何利用EL表达式获取list,map,对象等值

<%@ page import="com.hopetesting.domain.User" %><%@ page import="java.util.*" %><%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head>    <title>el表达式获取对象属性</title></head><body><h1>el设置对象是属性</h1><%    User user = new User();    user.setName("zmy");    user.setAge(11);    user.setBirthday(new Date());    request.setAttribute("user", user);

    List list = new ArrayList();    list.add("aaa");    list.add("bbb");    list.add(user);    request.setAttribute("list",list);

    Map map = new HashMap();    map.put("sname","light");    map.put("gender","male");    map.put("user",user);    request.setAttribute("map",map);

%><h1>el获取对象属性</h1>

    ${requestScope.user}<br/>    ${requestScope.user.name}<br/>    ${user.age}<br/>    ${user.birStr}

<h1>el获取list值</h1>${list[0]}<br/>${list[1]}<br/>${list[10]}<br/>${list[2].name}<br/>

<h1>el获取Map值</h1>${map.sname}<br/>${map.gender}<br/>${map.user.birStr}<br/>

</body></html>
package com.hopetesting.domain;

import java.text.SimpleDateFormat;import java.util.Date;

/** * @author newcityman * @date 2019/9/6 - 21:00 */public class User {    private String name;    private Integer age;    private Date birthday;

    public User() {    }

    public User(String name, Integer age, Date birthday) {        this.name = name;        this.age = age;        this.birthday = birthday;    }

    public String getName() {        return name;    }

    public Integer getAge() {        return age;    }

    public Date getBirthday() {        return birthday;    }

    public String getBirStr(){        if(birthday!=null){            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");            return  sdf.format(birthday);        }else{            return  "";        }

    }    public void setName(String name) {        this.name = name;    }

    public void setAge(Integer age) {        this.age = age;    }

    public void setBirthday(Date birthday) {        this.birthday = birthday;    }

    @Override    public String toString() {        return "User{" +                "name=‘" + name + ‘\‘‘ +                ", age=" + age +                ", birthday=" + birthday +                ‘}‘;    }}
 

原文地址:https://www.cnblogs.com/newcityboy/p/11478756.html

时间: 2024-08-01 15:54:29

如何利用EL表达式获取list,map,对象等值的相关文章

JAVAWEB开发之Session的追踪创建和销毁、JSP详解(指令,标签,内置对象,动作即转发和包含)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的服务器端技术,当客户端第一次访问资源时 如果调用request.getSession() 就会在服务器端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,如果浏览器没有禁用cookie的话,当浏览器再次访问项目中的Servlet程序时会将JSESSIONID带着,这时JSESSIONID就像唯一的一把钥匙  开启服务器端对应的session空间,进而获取到sessi

JAVAWEB开发之Session的追踪创建和销毁、JSP具体解释(指令,标签,内置对象,动作即转发和包括)、JavaBean及内省技术以及EL表达式获取内容的使用

Session的追踪技术 已知Session是利用cookie机制的server端技术.当client第一次訪问资源时 假设调用request.getSession() 就会在server端创建一个由浏览器独享的session空间,并分配一个唯一且名称为JSESSIONID的cookie发送到浏览器端,假设浏览器没有禁用cookie的话,当浏览器再次訪问项目中的Servlet程序时会将JSESSIONID带着.这时JSESSIONID就像唯一的一把钥匙  开启server端相应的session空

EL表达式获取对象属性的原理

EL表达式获取对象属性的原理是这样的:以表达式${user.name}为例EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值. 所以,想要通过EL表达式获取对象属性的值,那么这个属性就必须有与之对应的get方法. 其实你要了解EL表达式的运行原理,它其实后台也对应的Java代码,它会先将你EL表达式中的对象属性的首字符大写,拼成getXX()方法,然后利用

【JSP EL】EL表达式 获取list长度/不用循环,EL在List中直接获取第一项的内容/EL获取Map的键,Map的值

1.EL表达式 获取list长度 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> <c:if test="${fn:length(list名字)>1}"&g

EL表达式获取数据

EL 全名为Expression Language. EL主要作用 获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web域 中的对象,访问javabean的属性.访问list集合.访问map集合.访问数组) 执行运算: •利用EL表达式可以在JSP页面中执行一些基本的关系运算.逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算.${user==null} 获取web开发常用对象 •EL 表达式定义了一些隐式对象,

关于页面EL表达式获取list集合、元素相关

之前做项目(裁判文书信息修改)的时候,遇到一些问题 1.数据树结构显示失败 页面数据显示不出来树结构,原因是因为缺少调用接口方法  ztreeNodes1 = getDeptREmp(oid); 2.json拼接的问题 //之前的拼接方法是: jsonstr = "{\"oid\":\""+oid+"\"}"; //拼接json ,\"dyfs\":\""+dyfs+"\&qu

EL表达式产生了DOM对象

做一个小的java web项目练手,有一个需求,其实就是要把同一个div的id传到一个javascript函数中去处理.因为这个div的id是从后台发到前台的, 所以我就直接使用了这个后台发到前台的值传入el表达式中. 如下: ··· <button type="button" lass="btn btn-default" style="width: 150px;" onclick="jh(${vo.path})">

【Filter】利用过滤器Filter解决post传递的编码问题与利用EL表达式简化参数传递

post传递的编码问题,解决的方式有两种,一种是修改Tomcat的配置文件,这种方式是我反对的,因为你并不能保证自己的工程在任意一个Tomcat都能跑,当然如果以后出现什么情况,处理修改Tomcat配置文件,没有别的的话,那么才修改也不迟,另一种是在页面取值之前使用: request.setCharacterEncoding("utf-8"); 本来这样没什么的,不就一行代码吗?但是在现在JSP编程不停强调页面绝对不能出现后端代码的趋势下,不能使用<[Jsp]使用Post与Get

利用EL表达式替换回车符

后台数据库中数据格式: 要在页面以如下格式显示,即分号一换行: 首先想到在action中利用replaceAll来替换,于是写出如下代码: userlist.setPubmedmesh(rs.getString("mesh").repalceAll(";","</br>")); 但是试验后发现不行,于是想到利用EL表达式来完成替换. 首先在session中存储该字段: ActionContext.getContext().getSes