EL技术与JSTL技术
一、EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL 出现的目的是要替代jsp页面中脚本的编写。
例:
jsp脚本:<%=request.getAttribute(name)%>
EL表达式替代上面的脚本:${requestScope.name};
二、
EL最主要的作用是获得四大域中的数据,格式${EL表达式}
EL获得pageContext域中的值:${pageScope.key};
EL获得request域中的值:${requestScope.key};
EL获得session域中的值:${sessionScope.key};
EL获得application域中的值:${applicationScope.key};
EL从四个域中获得某个值${key};
---同样是依次从pageContext域,request域,session域,application域中 获取属性,在某个域中获取后将不在向后寻找
三、EL执行表达式
例如:
${1+1} //可以直接计算=2
${empty user} //判断集合是否非空;
${user==null?true:false} //三目运算符
四、JSTL技术(使用时候需要和el技术搭配使用)
标签库 标签库的URI 前缀 Core http://java.sun.com/jsp/jstl/core c
使用时候需要将jar包导入lib中
使用jsp的taglib指令导入核心标签库:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<body>
<%
List<String> list = new ArrayList<String>();
list.add("勒布朗-詹姆斯");
list.add("安东尼-戴维斯");
application.setAttribute("li", list);
%>
<c:forEach var="ly" items="${li}">
${ly}<br>
</c:forEach>
<%
List<Users> list1 = new ArrayList<Users>();
Users user = new Users();
user.setId(1);
user.setUsername("wangwu");
user.setPwd("123");
list1.add(user);
application.setAttribute("List", list1);
%>
<c:forEach var="list" items="${List}">
${list.id}...${list.username}...${list.pwd} <br>
</c:forEach>
<%
Map<String, String> map1 = new HashMap<String, String>();
map1.put("a", "hello world");
map1.put("b", "this is map");
request.setAttribute("map1", map1);
%>
<c:forEach var="item" items="${map1}">
${item.key}...${item.value} <br>
</c:forEach>
<%
Map<String,Users> map=new HashMap<String,Users>();
Users user1=new Users();
user1.setId(1);
user1.setUsername("wangwu");
user1.setPwd("123");
Users user2=new Users();
user2.setId(1);
user2.setUsername("zhaoliu");
user2.setPwd("123");
map.put("java1227",user1);
map.put("java0512",user2);
application.setAttribute("usermap", map);
%>
<c:forEach items="${usermap }" var="entry">
${entry.key }...${entry.id }...${entry.value.username }...${entry.value.pwd }
</c:forEach>
<%
Map<Users, Map<String, Users>> map5 = new HashMap<Users, Map<String, Users>>();
Map<String, Users> map6 = new HashMap<String, Users>();
Users user1 = new Users();
user1.setId(1);
user1.setUsername("zhaoliu");
user1.setPwd("123");
map6.put("iphone", user1);
application.setAttribute("List1", map6);
Users user7 = new Users();
user7.setId(2);
user7.setUsername("wangwu");
user7.setPwd("123");
map5.put(user7, map6);
application.setAttribute("List", map5);
%>
<c:forEach var="it" items="${List}">
<c:forEach var="it1" items="${List1}">
${it.getKey()}...${it1.key }...${it1.value.id }...${it1.value.username}...${it1.value.pwd}
</c:forEach>
</c:forEach>
</body>
五、JAVAEE和MVC
欢迎各位大神指点和评论;