El、JSTL
来源:互联网 发布:淘宝流量闭环什么意思 编辑:程序博客网 时间:2024/04/28 05:42
背景: Jsp中嵌套大量java代码增加了页面的复杂程度,使得页面难以维护,因此Sun公司制定了Jsp标签用来代替Java代码,Apache组织开发的一套标签库被Sun公司整合后成为标准标签库JSTL。
使用EL表达式访问Bean属性:
- ${对象名.属性名}:
<!-- 容器依次从 pageContext、request、session、application中查找绑定名为user的对象,找到后调用getName(),然后输出 -->
如果没有为name属性赋值会输出空白而不是null,如果取不到绑定名为user的对象输出空白页;
${user.name }
等价于<% User puser = (User) request.getAttribute("user");
request中没有绑定名称为user的对象,会包500错误。
out.println(puser.getName()); %> - ${对象名[“属性名”]};
方括号中的属性名可以使用单引号或者双引号;
- ${对象名.属性名}:
EL表达式的访问范围:
${requestScope.user["name"]}<!--可以指定在requestScope、sessionScope、pageScope、applicationScope中查找符合绑定名的对象,如果指定了范围,那么在该范围下未找到,就不会再去其他区域查找. -->
EL表达式运算:
1+2: ${ 1+2 }<br> "123"+"456": ${ "123"+"456" }<br> "123" == "123": ${"123" == "123" }<br> "123" eq "123": ${"123" eq "123" }<br> <% pageContext.setAttribute("str" ,"abc"); %> str eq "abc" : ${ str eq "abc" }<br> str eq "abcd" : ${ str eq "abcd" }<br> <% request.setAttribute("str", "") ; List list = new ArrayList(); request.setAttribute("list",list); request.setAttribute("obj",null); %> 空字 符串: ${empty str }<br> 空 list: ${empty list }<br> 未绑 定对象: ${empty jsp }<br> null对象: ${empty obj }<br>
运行结果:
- EL表达式获取请求参数:
姓名:${param.name }<br> 兴趣:${paramValues.interset[0]}、${paramValues.interset[1]}
请求:
http://localhost:8080/studyservlet/js/el02.jsp?name=zhpen&interset=sleeping&interset=eating
结果:
姓名:zhpen 兴趣:sleeping、eating
- 标签:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@ page import="java.util.*" import="hateapple.bean.*" %><%@ taglib uri ="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><style type = "text/css"> .s1{color:red} .s2{color:green}</style><title>Insert title here</title></head><body> <% List<User> listUser = new ArrayList<User>(); User user = new User(); user.setName("张三丰"); user.setAge(103); listUser.add(user); user = new User(); user.setName("李四"); user.setAge(50); listUser.add(user); user = new User(); user.setName("令狐冲"); user.setAge(80); listUser.add(user); user = new User(); user.setName("韦小宝"); user.setAge(80); listUser.add(user); request.setAttribute("userList", listUser); %> <table> <c:forEach var="user" items="${userList }" varStatus="s"> <tr class= <c:if test="${s.index % 2==0}" var="rs">"s1"</c:if> <c:if test="${!rs}">"s2"</c:if> > <c:choose> <c:when test="${!rs}"> <td>红色</td> </c:when> <c:otherwise> <td>红色</td> </c:otherwise> </c:choose> <td>${user.name }</td> <td>${user.age }</td> <td>${s.count }</td> <td>${s.index }</td> </tr> </c:forEach> </table></body></html>
0 0
- jstl+el
- el+JSTL
- el,jstl
- EL&JSTL
- el+jstl
- EL、JSTL
- jstl el <%%>
- EL JSTL
- jstl el
- El、JSTL
- el jstl
- EL&JSTL
- EL,JSTL
- EL,JSTL
- EL、JSTL
- EL+JSTL
- el&jstl
- El&jstl
- Spark 获取jdbc Rdd
- vs中出现error LNK2038 RuntimeLibrary 不匹配的解决
- <meta http-equiv="X-UA-Compatible" content="IE=Edge">
- R语言源码安装插件包
- linux 的文件操作命令整理
- El、JSTL
- linux中 epoll
- 怎样在Android中使用Loaders
- 转圈进度条
- 文章标题
- spring declarative transaction management
- 深入理解Java:类加载机制及反射
- 转 Linux环境下USB的原理、驱动和配置--本文由CSDN 特别约稿,作者为北京中科红旗软件技术有限公司 嵌入式工程师 梁国军
- instruments 静态分析常见问题