<%@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. jQuery banner 滑动

    jQuery(document).ready(function() { var abovePos = 50; var customMax = 1600; var zIdx = 100; var $bn ...

  2. Java学习-----单例模式

    一.问题引入 偶然想想到的如果把Java的构造方法弄成private,那里面的成员属性是不是只有通过static来访问呢:如果构造方法是private的话,那么有什么好处呢:如果构造方法是privat ...

  3. php字符串常见面试题

    >> 本文固定链接: http://php.ncong.com/mianshi/mianshiti_string.html >> 转载请注明: 恩聪php 2014年09月02 ...

  4. matplotlib入门--1(条形图, 直方图, 盒须图, 饼图)

    作图首先要进行数据的输入,matplotlib包只提供作图相关功能,本身并没有数据读入.输出函数,针对各种试验或统计文本数据输入可以使用numpy提供的数据输入函数. # -*- coding: gb ...

  5. 大数据学习之hadoop伪分布式集群安装(一)公众号undefined110

    hadoop的基本概念: Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储. Hadoo ...

  6. URL加载系统----iOS工程师必须熟练掌握

    URL加载系统----iOS工程师必须熟练掌握     iOS根本离不开网络——不论是从服务端读写数据.向系统分发计算任务,还是从云端加载图片.音频.视频等.   当应用程序面临处理问题的抉择时,通常 ...

  7. SPSS时间序列分析

    时间序列分析必须建立在预处理的基础上…… 今天看了一条新闻体会到了网络日志的重要性…… 指数平滑法(Exponential Smoothing,ES)是布朗(Robert G..Brown)所提出,布 ...

  8. Growing Pains for Deep Learning

    Growing Pains for Deep Learning Advances in theory and computer hardware have allowed neural network ...

  9. h.264 FMO

    在H.264之前的标准中,比如H.263,其比特流中的数据是按照一个宏块接一个宏块的方式排列的,一旦发生丢包,很多相邻宏块信息都会丢失,很难进行错误隐藏处理.在H.264中加入了一项新特性:把宏块在比 ...

  10. Xamarin.Forms本地化多语言

    Forms 右键新建文件夹 Localization 新建文件TranslateExtension.cs namespace Localization { /// <summary> // ...