<%@page import="cn.bdqn.bean.User"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'el.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<%-- el表达式: expression language! 目的:简化我们之前书写的表达式
语法结构: ${表达式}
着重点:在于数据的显示! page pageScope
request requestScope
session sessionScope
application applicationScope 比如说:我们把一个Student对象放入了session作用域中! session.setAttribute("stu",student)
我们怎么取值?
之前 session.getAttribute("stu");
现在 ${sessionScope.stu}|| ${stu} 想使用el从作用域中取值!两种方式:
01.${作用域.属性名} 从指定的作用域中查询指定的属性
02.${属性名} 没有指定作用域!这时候,el表达式会按照顺序在作用域中查找!
page-->request--->session--->application 有个疑问??
session.setAttribute("stu",student);
requestScope.stu?????能不能拿到值!
反之,我在request作用域中保存一个对象!在sessionScope中能拿到吗????!!! 不会!!!!
作用域之间是相互独立的! el表达式的数据来源于====》四个作用域! --%>
</head>
<body>
<%
//向Scope中存放字符串
pageContext.setAttribute("pageName", "page小白");
request.setAttribute("requestName", "request小白");
session.setAttribute("sessionName", "session小白");
application.setAttribute("applicationName", "application小白");
//向Scope中存放对象
User user=new User();
user.setId(5);
user.setUserName("对象userName");
user.setPassword("对象password");
session.setAttribute("user", user);
//向Scope中存放集合
ArrayList<User> users =new ArrayList();
users.add(user);
session.setAttribute("userList", users);
%>
pageScope.pageName====>${pageScope.pageName}<br/>
pageName====>${pageName}<br/>
requestScope.pageName====>${requestScope.requestName}<br/>
sessionScope.pageName====>${sessionScope.sessionName}<br/>
applicationScope.pageName====>${applicationScope.applicationName}<br/>
<hr/>
<%-- 作用域.属性(对象).方法 --%>
<%-- 作用域.属性(对象).属性 --%>
用户名:${sessionScope.user.getUserName()}<br/>
用户名:${sessionScope.user.userName}<br/>
用户名:${user.userName}<br/>
用户名:${sessionScope.user["userName"]}<br/>
<hr/>
获取集合中对象的属性:${sessionScope.userList[0].password } </body>
</html>
 之后使用el表达式修改新闻详情界面的数据!

<%@page import="cn.bdqn.bean.User"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%--引入jstl标签库 --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'jstl.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
jstl:(jsp standard tag library):是一个不断完善的jsp标签库!
想使用:必须引入标签库!
-->
</head>
<body>
<%--
value:需要输出的值,一般和el表达式连用
escapeXml:是否转义特殊字符!默认true
default:当value值为null的时候显示的值! --%>
<c:out value="大家好" />
<c:out value="&lt 大家好 &gt" escapeXml="true"/>
<c:out value="&lt 大家好 &gt" escapeXml="false"/>
<c:out value="${null}" default="默认值sssss"/>
<hr/>
<%
User user=new User();
user.setUserName("小白");
user.setPassword("admin");
session.setAttribute("user", user);
%>
<%--
target:需要赋值的目标对象
property:对象的属性
value:属性值
scope:对应的作用域
var:我们声明的变量
--%>
<c:set target="${sessionScope.user}" property="email" value="501804292@qq.com"/>
<c:out value="${sessionScope.user.email}" />
<%-- 声明了一个name变量,值为 小黑,放在了session作用域中 --%>
<c:set var="name" value="小黑" scope="session"/>
<c:out value="${sessionScope.name}" />
<%--
var:需要删除的变量名
scope:从哪个作用域中删除
--%>
<c:remove var="name" scope="request"/>
<c:out value="${sessionScope.name}" />
<hr/>
<%--
c:choose:相当于我们java中的switch选择结构!
c:when:相当于我们的case
c:otherwise:相当于default
--%>
<c:choose>
<c:when test="${name=='小黑'}">
<div>姓名是:小黑</div>
</c:when>
<c:when test="${name=='小黑1'}">
<div>姓名是:小黑1</div>
</c:when>
<c:otherwise>
<div>姓名是:null</div>
</c:otherwise>
</c:choose>
<hr/>
<%
List<User> users=new ArrayList();
users.add(new User("小黑1","admin1"));
users.add(new User("小黑2","admin2"));
users.add(new User("小黑3","admin3"));
users.add(new User("小黑4","admin4"));
session.setAttribute("users", users);
%>
<%--c:forEach
items: 需要循环的变量(集合)
begin:开始的元素 下标从0开始
end:最后一个元素 下标从0开始
step:每一次迭代的步长
var: 变量名称
varStatus:代表循环状态的变量名称
--%>
<c:forEach items="${sessionScope.users}" var="user" >
${user.userName}==============${user.password }<br/>
</c:forEach> <%--通过指定的分隔符delims 将 字符串 分割成一个 数组 !
c:forTokens 也具有遍历的功能
--%>
<c:forTokens items="4,5,6" delims="," var="s">
${s}
</c:forTokens> <%--
引入需要的外部文件, 和 jsp:includ类似
charEncoding:默认值 iso-8859-1
var:引入界面的变量
url:所引入的外部文件
--%>
<%--<c:import url="http://www.baidu.com" charEncoding="utf-8"/>--%>
<c:import url="temp.jsp" var="data"/>
<c:out value="${data}"/> <%--
var:变量名
value:跳转的路径!如果文件不在webRoot下,必须加上所在的文件夹名称
c:url:一般和a标签连用,可以携带参数!
--%>
<c:url var="path" value="jstl/temp.jsp">
<c:param name="jstlName" value="小白"/>
</c:url> <a href="${path}">跳转到temp.jsp</a> </body>
</html>

 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'temp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body> <h1>这是temp.jsp</h1>
传递过来的参数是:${param.jstlName} </body>
</html>
 

el和jstl的更多相关文章

  1. jsp与El,jstl知识点总结归纳

    jsp与El,jstl知识点总结归纳 jsp部分 一.jsp的三大指令 page ,include,taglib 1.jsp中的page指令 <% page %>-设置jsp 例如: &l ...

  2. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  3. 在idea的maven项目使用el或jstl表达式

    必须加上这句: <%@ page isELIgnored="false" %> 否则无法解析el或jstl表达式 <%@ taglib prefix=" ...

  4. 第75节:Java的中的JSP,EL和JSTL

    第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转 ...

  5. JSP、EL、JSTL

    JSP(Java Server Pages) 什么是JSP Java Server Pages(Java服务器端的页面) 使用JSP:SP = HTML + Java代码 + JSP自身的东西.执行J ...

  6. jsp中的EL和JSTL的关系

    对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念 JSTL一般要配合E ...

  7. Jsp应用EL和JSTL实例对比。

    普通方式: register.jsp <%@ page language="java" import="java.util.*" pageEncoding ...

  8. EL 和 JSTL

    EL 什么是EL表达式 EL(Express Lanuage) 表达式可以嵌入在jsp页面内部 减少jsp脚本的编写 EL出现的目的是要替代jsp页面中脚本的编写 作用区间 EL最主要的作用是获取四大 ...

  9. Unit05: WEB项目的开发模式 、转发 和 Unit09: EL、JSTL

    Unit05: WEB项目的开发模式 .转发   和  Unit09: EL.JSTL dao package dao; import java.io.Serializable; import jav ...

  10. 2017.11.16 JavaWeb-------第八章 EL、JSTL、Ajax技术

    第八章 EL.JSTL.Ajax技术 ~~ EL (expression language) 是表达式语言 ~~ JSTL(JSP Standard Tag Library) 是开源的JSP标准标签库 ...

随机推荐

  1. 【USACO 1.3.4】牛式

    [題目描述 ] 下面是一个乘法竖式,如果用我们给定的那n个数字来取代*,可以使式子成立的话,我们就叫这个式子牛式. * * * x * * ---------- * * * * * * ------- ...

  2. 将CSS CLIP属性应用在:扩展覆盖效果

    我们想要展示如何利用CSS3 clip属性制作一种简单而整洁的扩展效果,当点击一个box元素时实现平稳过渡.这个想法是为了实现某种叠加效果,好像它实际上在各个元素的下面.点击其中一个元素将创建一个切断 ...

  3. centos账户的uid和gid

    修改/etc/passwd和/etc/group文件的UID和GID为0,可以获得root权限,不过不推荐~ UID和GID Linux系统如何区别不同的用户呢?可以很自然地想到,使用不同的用户名应该 ...

  4. Linux下的Job Control(转:http://blog.chinaunix.net/uid-26495963-id-3062757.html)

    一.Job的概念 Job是指在批处理的环境中,为完成某一任务而进行一系列操作的总称.在个人接触计算机的年代,批处理的环境已经不容见到了,只有一些特殊的行业和环境下还在使用这样的概念,仅在书本中接触过. ...

  5. 我牵头,你做事——C#委托实践

     我牵头,你做事——C#委托实践一 2007-09-05 23:54:54 标签:委托 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http ...

  6. c#中方法out参数的使用

    一个很普通的例题,求出一个整型数组的最小值.最大值.总和.平均值,利用调用函数的方法来ut参数实现 using System; using System.Collections.Generic; us ...

  7. [Python笔记]第三篇:深浅拷贝、函数

    本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import ...

  8. testservice小项目总结

    关于自做小项目testservice的总结: 1.Activity与Service的绑定及之间的通信: 1)关于Activity和Service的生命周期的理解: 2)bindService方法中Se ...

  9. CodeForces 569A 第六周比赛C踢

    C - C Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  10. codevs 1217 借教室

    传送门 1217 借教室 2012年NOIP全国联赛提高组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解       题目描述 Descripti ...