EL表达式针对于四大作用域:application,session,request,pagecontext(作用域由大倒小)${作用域获取内容的名字}
是根据作用域最小的取,指定作用域${sessionscope.名字}
从类中取值${User["name"]}或者${User.name}都可以,但是当类中的成员变量中存在特殊字符必须用第一种取值
EL表达式类型转换,不需要自己转,可以直接运算${param.num+20}就是num加20;
empty对于空字符串和空null的判断都为true
标准标签库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
如果scope属性不写,默认设置 在pagecontext中
<c:set scope="session"></c:set>

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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">
<title>Insert title here</title>
</head>
<body>
<form action="jstl.jsp" method="post">
请输入一个成绩:<input type="text" name="num"/>
<input type="submit" value="提交"/> </form>
<c:choose>
<c:when test="${param.num>60&&param.num<70}">
<c:out value="及格了"></c:out>
</c:when>
<c:when test="${param.num>70&&param.num<80}">
<c:out value="良好"></c:out>
</c:when>
<c:when test="${param.num<60}">
<c:out value="不及格"></c:out>
</c:when>
<c:otherwise>
<c:out value="很棒"></c:out>
</c:otherwise>
</c:choose> </body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="com.hanqi.Dal.User,java.util.ArrayList" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!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">
<title>Insert title here</title>
<style type="text/css">
.aa {
border: 1px red solid;
width: %;
margin: 10px auto;
}
</style>
</head>
<body>
<%
session.setAttribute("text", "山东淄博");
request.setAttribute("text", "淄博"); User u=new User();
u.setName("小明");
u.setAge();
session.setAttribute("User",u); ArrayList<String> list=new ArrayList<String>();
list.add("山东");
list.add("黑龙江");
list.add("北京");
list.add("河北");
list.add("江苏");
list.add("贵州");
session.setAttribute("dis", list);session.setAttribute("teststring", "0533-1234567890-110"); session.setAttribute("test", "你好, 我是session一行字");
request.setAttribute("test", "你好, 我是request一行字");
session.setAttribute("score", );
%>
<div class="aa">
<h2>EL表达式通过[]取属性</h2>
${User["name"]}<br>
${User["age"]}<br>
<h2>EL表达式通过.取属性</h2>
${User.name}<br>
${User.age}
</div>
<div class="aa">
<h2>EL表达式类型转换</h2>
<form action="EL.jsp" method="post">
<input type="text" name="num"/>
<input type="submit" value="提交"/>
</form>
${param.num }<br>
num+:${param.num+ }<br>
${dis[] }<br>
${paramValues.num[] }<br>
${cookie.username.name }--->${cookie.username.value }<br>
${initParam.zhangsan }
</div>
<div class="aa">
<h1>EL运算符</h1>
${/ }<br>
${+ }<br>
${%}<br>
返回的值为布尔类型${> }<br>
返回的值为布尔类型${< }<br>
</div>
<div class="aa">
${empty text }<br>
<h1>empty对null和空字符串的判断</h1>
empty对null的判断:${empty null }<br>
empty对空字符串的判断:${empty "" }<br>
</div>
<div class="aa">
<h1>c:forTokens标签</h1>
<hr>
<!-- items写接受的${name},delims相当于split,用什么字符分割,var别名 -->
<c:forTokens items="${teststring}" delims="-" var="r">
<c:out value="${r }"></c:out>
</c:forTokens>
</div>

cookie

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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">
<title>Insert title here</title>
</head>
<body>
<%
String username="";
String password=""; //获取cookie对象
Cookie[] cs=request.getCookies();
//如果cs不为空
if(cs!=null){
//遍历cs
for(Cookie c:cs){
//如果username在cookie对象中
//看一下username是否在cookie中存取的键值对中存在名字叫username的,这里的username是一个字符串
if("username".equals(c.getName())){
//将username对应的值赋给username
username=c.getValue();
}
//如果password在cookie对象中
if("password".equals(c.getName())){
//将password对应的值赋给password
password=c.getValue();
}
}
} %>
<form action="loginServlet" method="post">
用户名:<input type="text" name="username" value="<%=username%>"/>
密码:<input type="text" name="password" value="<%=password%>"/><br>
记住密码:<input type="checkbox" name="rememberme" value="do"/><br>
<input type="submit" value="登陆"/>
</form>
</body>
</html>
package com.hanqi.Servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class loginServlet
*/
@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public loginServlet() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//接受用户登陆是的用户名和密码
String username=request.getParameter("username");
String password=request.getParameter("password");
String rememberme=request.getParameter("rememberme"); System.out.println(username);
System.out.println(password);
System.out.println(rememberme); //判断用户名和密码不为空并且去掉空格长度大于0
if(username!=null&&username.trim().length()>&&password!=null&&password.trim().length()>){
//判断记住密码不为空并且长度去掉空格大于0
if(rememberme!=null&&rememberme.trim().length()>){
//获取cookie对象
Cookie[] cs=request.getCookies();
for(Cookie c:cs){
System.out.println(c.getName());
} //实例化cookie对象并将用户名和密码传入
Cookie c_username=new Cookie("username", username);
Cookie c_password=new Cookie("password",password); //设置cookie存取时间
c_username.setMaxAge();
c_password.setMaxAge(); //添加cookie对象
response.addCookie(c_username);
response.addCookie(c_password);
System.out.println("cookie对象已经添加");
}
response.sendRedirect("index.jsp");
}else{
response.sendRedirect("fail.jsp");
} } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }

JSTL(JSP Standard Tag Library)标准标签库:
1, 核心标签(最常用, 最重要的)
表达式控制标签
out
输出常量
value---直接赋值
输出变量
default---默认值
escapeXml---控制转义字符(默认为true, 如果需要转义, 设置为false)
set
三个属性: var value scope---将一个值存到*scope中(默认是pageContext)
赋值的时候可以将值放在value后面, 也可以放在两个标签中间
<c:set var="t" value="山东淄博" />
<c:set var="t1">安徽黄山</c:set>
target 对应javaBean的name值(target要使用EL表达式的形式)
property 对应定义的类里面的属性
remove----只能用于页面内的变量移除
移除某个变量
var: 指定需要remove的那个变量名
scope: 两个scope中的变量名有重复的时候, 可以通过这个属性来确定移除的是哪个, 如果不指定, 则全部remove掉
catch
相当于try...catch...
可以在这个标签中放其他标签, 只有一个属性var
流程控制标签
if
<c:if test="EL表达式" var="变量名(指的是test属性的返回值:true或者false)" scope="作用域范围" ></c:if>
choose---以下三个标签通常一起使用, 类似于switch
when
otherwise--可以不写
循环控制标签
forEach
var: 设定一个变量值来存储从数组或者集合中遍历出来的值
items: 指定需要遍历的数组或者集合
begin, end: 指定需要遍历的起始位置
step: 每次遍历跳过的个数, 默认值是1
varStatus: 通过index(在原集合中的索引值), count(当前第几个), first(是否是第一个), last(是否是最后一个)来描述begin和end子集中的状态
注意first和last, 是判断的是否在输出结果中的第一个或者最后一个, 并不是原来的集合中
forTokens(回忆一下字符串的split()方法)
输出的结果中同样也有index, count, first, last这四个属性

El和标准标签的更多相关文章

  1. JavaWeb(七)Cookie,EL表达式,标准标签库

    Cookie Cookie概述 Cookie译为小型文本文件或小甜饼,Web应用程序利用Cookie在客户端缓存服务器端文件.Cookie是以键值对形式存储在客户端主机硬盘中,由服务器端发送给客户端, ...

  2. EL表达式和JSTL标准标签库

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

  3. EL表达式 与 JSTL标准标签库

    目录 EL表达式 什么是EL表达式 作用 EL内置11对象 EL执行表达式 JSTL 什么是JSTL JSTL标准标签库有5个子库 把JSTL标签库jar包引入工程当中 if标签 foreach标签 ...

  4. 11、Jsp加强/EL表达式/jsp标签

    1 Jsp基础回顾 Jsp基础 1)Jsp的执行过程 tomcat服务器完成:jsp文件->翻译成java文件->编译成class字节码文件-> 构造类对象-> 调用方法 to ...

  5. JSTL标准标签库

    有时使用EL和标准动作达不到目的,于是就引入定制标记. 对于JSP页面创作人员来说,定制标记使用起来比脚本要容易一些.不过对于JAVA程序员来说,简历定制标记处理器反而更困难.幸运的是,已经有了一个标 ...

  6. jsp标准标签库

    抄袭自:http://www.cnblogs.com/hongten/archive/2011/05/14/2046005.html JSP标准标签库     Pass by xkk ,and aut ...

  7. JSTL的全称:JSP Standard Tag Library, jsp 标准标签库

    JSTL的全称:JSP Standard Tag Library, jsp 标准标签库 JSTL的作用     提供给Java web开发人员一个标准通过的标签函数库和EL来取代传统直接在页面上嵌入j ...

  8. Web---JSTL(Java标准标签库)-Core核心标签库、I18N国际化、函数库

    前面为JSTL中的常用EL函数,后面的为具体演示实例! JSTL简介: JSTL(Java Standard Tag Library) –Java标准标签库. SUN公司制定的一套标准标签库的规范. ...

  9. JSP标准标签库的安装以及自定义标签的创建

    JSTL 库安装 Apache Tomcat安装JSTL 库步骤如下: 从Apache的标准标签库中下载的二进包(jakarta-taglibs-standard-current.zip). 官方下载 ...

随机推荐

  1. redis查看数据

    目前Redis缓存数据库在许多行业平台大量应用,有效解决了高并发等特定场景的应用性能瓶颈,Redis数据的查看.维护,性能监控有没有好用的工具呢,目前TreeSoft数据库管理系统可以满足实现需求. ...

  2. accmcolor

    accmcolor c; c.setcolorindex(1); playertablerecord.setcolor(c);

  3. 让Android的WebView支持html里面的文件上传

    默认情况下,Android的webview是不支持<input type=file>的,点击没有任何反应,如果希望点击上传,弹出选择文件.图片的窗口,那就需要自定义一个WebChromeC ...

  4. CPU 指令集(Instruction Set Architecture, ISA)

    本文摘自网络 概念 指令集是存储在CPU内部,对CPU运算进行指导和优化的硬程序,用来引导CPU进行加减运算和控制计算机操作系统的一系列指令集合.拥有这些指令集,CPU就可以更高效地运行.系统所下达的 ...

  5. openstack——neutron网络服务

    一.neutron 介绍:   Neutron 概述 传统的网络管理方式很大程度上依赖于管理员手工配置和维护各种网络硬件设备:而云环境下的网络已经变得非常复杂,特别是在多租户场景里,用户随时都可能需要 ...

  6. Autofac 控制反转

    class Program { static void Main(string[] args) { IContainer container = Init(); Go(container); Cons ...

  7. swift 关键字willSet 和 didSet

    // 下面是苹果给出的解释,就是在给属性设置新值的时候,可以在设置前和设置后做一些处理,这两个关键字就好像对该属性变化的监控 If you don’t need to compute the prop ...

  8. Problem 56

    Problem 56 https://projecteuler.net/problem=56 Powerful digit sum A googol (10100) is a massive numb ...

  9. 关于read和fread

    1.fread与read的区别---open和fopen的区别--fread函数和fwrite函数:http://blog.csdn.net/dreamtdp/article/details/7560 ...

  10. 洛谷 P1943 LocalMaxima_NOI导刊2009提高(1)

    我们先考虑第i大数,比它大的数有(n-i)个,显然要使i是Local Maxima,比它大的数必须放在它后面,那么它是Local Maxima的期望是: 那么n个数中Local Maxima个数的期望 ...