javaweb之常用的EL表达式

来源:互联网 发布:web前端和java哪个好 编辑:程序博客网 时间:2024/05/01 07:53
<%@page import="test.domain.Address"%><%@page import="test.domain.Person"%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>EL表达式</title>    <%--用EL表达式在取数据时,通常用.号,.号取不出来时用[] --%>  </head>    <body>   <%--模仿servlet转发数据给JSP 数据以普通方式带过来--%><% String data = "abcd";request.setAttribute("data", data);%><%--在JSP中取数据 --%>${data}<%-- 调用pageContext.findAttribute(data)方法从 page request session application这四个域依次找数据,找不到返回"" --%><br><%--模仿servlet转发数据给JSP 数据存在bean中带过来--%><%Person p = new Person();p.setName("aaaaaa");request.setAttribute("person", p);%><%--在JSP中取数据 --%>${person.name}<%--取出person中的name属性的值--%><br><%--先用${person} 通过pageContext.findAttribute(person) 找到person,找到了Person对象p,${person.name}访问这个Person对象的name属性,通过反射取值--%><%--模仿servlet转发数据给JSP 数据存在复杂bean中带过来--%><%Person p1 = new Person();Address a = new Address();a.setCity("哈哈");p1.setAddress(a);request.setAttribute("p1", p1);%><%--在JSP中取数据 --%>${p1.address.city}<%--取出p1中Address对象address的city属性值--%><br><%--模仿servlet转发数据给JSP 数据以集合形式带过来--%><%List<Person> list = new ArrayList<Person>();list.add(new Person("aaa"));list.add(new Person("bbb"));list.add(new Person("ccc"));request.setAttribute("list", list);%><%--在JSP中取数据 --%>${list[0].name}<%--取出list集合中第一个对象的name值,迭代的话需要EL表达式配合jstl--%><br><%--模仿servlet转发数据给JSP 数据以Map集合形式带过来--%><%Map<String,Person> map = new HashMap<String,Person>();map.put("aa", new Person("aaaaaa"));map.put("bb", new Person("bbbbbb"));map.put("cc", new Person("cccccc"));map.put("dd", new Person("dddddd"));map.put("11", new Person("111111"));//关键字最好不要用数字,在程序中会出问题,map的key用数字时EL表达式的通常方式取数据时会有问题request.setAttribute("map", map);%><%--在JSP中取数据 --%>${map.aa.name}<%--取出map集合中key为aa的value为Person对象的name的值--%><%--${map.11.name}这样会出问题,需要这样取: --%>${map['11'].name}<br><%--得到当前web应用的名称(路径) /day09--%>${pageContext.request.contextPath }<%--先拿到PageContext对象,然后通过getRequest方法拿到Request对象,然后通过Request对象的getContextPath方法拿到web应用的名称 --%><a href="${pageContext.request.contextPath }/index.jsp">点点</a><%--<a href="/day09/index.jsp">点点</a> --%><br/>  </body></html>
package test.domain;import java.util.Date;public class Person {private String name="aaa";private int age;private Date birthday;private Address address;public Person() {super();// TODO Auto-generated constructor stub}public Person(String name) {super();this.name = name;}public Address getAddress() {return address;}public void setAddress(Address address) {this.address = address;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}

package test.domain;public class Address {private String city;public String getCity() {return city;}public void setCity(String city) {this.city = city;}}


0 0
原创粉丝点击