菜鸟教程  传送门

  JSTL  jar包下载

  JSTL【百度百科】:(JavaServer Pages Standard Tag Library,JSP标准标签库)是一个不断完善的开放源代码的JSP标签库

JSP页面使用JSTL标签

  (一)引入JSTL的jar包

  (二)引入JSTL的标签库

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

  

使用JSTL标签做简单数据存储

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!-- 第二步:引入标签库 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body> <%-- <%request.setAttribute("username","Gary"); %> --%>
<!-- 常用作数据显示 -->
<!--使用jstl 给"username"设"Gary"值 作用域request -->
<c:set var="username" value="Gary" scope="request"></c:set> <!-- 使用jstl 输出值 -->
<c:out value="${username}" ></c:out>
<c:out value="123" ></c:out> <!-- 移除username的值 -->
<c:remove var="username"/>
<!-- 测试username中的值 -->
<c:out value="${username}" ></c:out> </body>
</html>

jstl.jsp

输出

Gary 123 

JSTL中条件标签和循环标签

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!-- 第二步:引入标签库 -->
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@page import="java.util.ArrayList"%>
<%@page import="java.util.List"%>
<%@page import="java.util.HashMap"%>
<%@page import="java.util.Map"%>
<%@page import="com.Gary.model.User"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body> <c:set var="age" value="20" scope="request"></c:set>
<c:if test="${age>=18}">
成年人<br>
</c:if> <!-- JSTL中if else语句 -->
<c:choose>
<c:when test="${age>=18}">
这是成年人 <br>
</c:when>
<c:otherwise>
这是未成年人 <br>
</c:otherwise>
</c:choose> <!-- for(int i=1;i<=10;i++) -->
<c:forEach var="i" begin="1" end="10">
这是第${i}次<br>
</c:forEach> <%
List<User> list = new ArrayList<User>();
list.add(new User("Gary0","0",10,"男",false));
list.add(new User("Gary1","1",20,"男",false));
list.add(new User("Gary2","2",30,"男",false));
list.add(new User("Gary3","3",40,"男",false));
list.add(new User("Gary4","4",50,"男",false));
request.setAttribute("list", list);
%>
<!-- 循环标签通过el表达式取出数据 -->
<c:forEach items="${list}" var="u">
${u.username}<br>
</c:forEach> </body>
</html>

jstl.jsp

package com.Gary.model;

public class User {
private String username;
private String password;
private int age;
private String sex;
private boolean isAdmin=false; //判断是否是管理员账号 public User(String username, String password, int age, String sex, boolean isAdmin) {
super();
this.username = username;
this.password = password;
this.age = age;
this.sex = sex;
this.isAdmin = isAdmin;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public boolean isAdmin() {
return isAdmin;
}
public void setAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
} }

User.java

输出

成年人
这是成年人
这是第1次
这是第2次
这是第3次
这是第4次
这是第5次
这是第6次
这是第7次
这是第8次
这是第9次
这是第10次
Gary0
Gary1
Gary2
Gary3
Gary4

  JSTL的if else语句

<c:choose>
<c:when test="${}"> </c:when>
<c:otherwise> </c:otherwise>
</c:choose>

  JSTL循环取出复杂数据时需要通过el表达式

<%
List<User> list = new ArrayList<User>();
list.add(new User("Gary0","0",10,"男",false));
list.add(new User("Gary1","1",20,"男",false));
list.add(new User("Gary2","2",30,"男",false));
list.add(new User("Gary3","3",40,"男",false));
list.add(new User("Gary4","4",50,"男",false));
request.setAttribute("list", list);
%>
<!-- 循环标签通过el表达式取出数据 -->
<c:forEach items="${list}" var="u">
${u.username}<br>
</c:forEach>

JavaWeb_JSTL标签数据的存储的更多相关文章

  1. Android笔记——Android中数据的存储方式(二)

    我们在实际开发中,有的时候需要储存或者备份比较复杂的数据.这些数据的特点是,内容多.结构大,比如短信备份等.我们知道SharedPreferences和Files(文本文件)储存这种数据会非常的没有效 ...

  2. Chrome扩展开发之三——Chrome扩展中的数据本地存储和下载

    目录: 0.Chrome扩展开发(Gmail附件管理助手)系列之〇——概述 1.Chrome扩展开发之一——Chrome扩展的文件结构 2.Chrome扩展开发之二——Chrome扩展中脚本的运行机制 ...

  3. 深入PHP变量存储结构 标签: PHP存储

    1.深入PHP变量存储结构 标签: PHP存储  分类: 编程语言(10)  首先声明,我并没有去读PHP的源码,只是对于PHP的有时候诡异的表现感兴趣,找了一下开发人员laruence的博客结合PH ...

  4. 为什么MongoDB适合大数据的存储?

    NoSQL数据库都被贴上不同用途的标签,如MongoDB和CouchDB都是面向文档的数据库,但这并不意味着它们可以象JSON(JavaScript Object Notation,JavaScrip ...

  5. 【分布式】Zookeeper数据与存储

    一.前言 前面分析了Zookeeper对请求的处理,本篇博文接着分析Zookeeper中如何对底层数据进行存储,数据存储被分为内存数据存储于磁盘数据存储. 二.数据与存储 2.1 内存数据 Zooke ...

  6. Android开发-之数据的存储方式一

    在Android中,数据的存储分为两种方式: 1.直接以文件的形式存储在目录中 2.以json格式存储在数据库中 将数据以文件的存储又分为两种方式: 1.生成.txt文件 2.生成xml文件 那么今天 ...

  7. 临时存存储页面上的数据---Web存储

    HTML5 Web存储的两种方法使用 localStorage和sessionStorage 参考: http://www.cnblogs.com/taoweiji/archive/2012/12/0 ...

  8. 在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除。

    在VC下采用ADO实现BLOB(Binary)数据的存储,读取,修改,删除. 作者:邵盛松 2009-09-05 前言 1关于的BLOB(Binary)数据的存储和读取功能主要参考了MSDN上的一篇& ...

  9. 云计算和大数据时代网络技术揭秘(八)数据中心存储FCoE

    数据中心存储演化——FCoE   数据中心三大基础:主机 网络 存储 在云计算推动下,存储基础架构在发生演变 传统存储结构DAS.SAN在发展中遇到了布线复杂.能耗增多的缺点(原生性),需要对架构做根 ...

随机推荐

  1. 【深入理解JVM】类加载器与双亲委派模型 (转)

    出处: [深入理解JVM]类加载器与双亲委派模型 加载类的开放性 类加载器(ClassLoader)是Java语言的一项创新,也是Java流行的一个重要原因.在类加载的第一阶段“加载”过程中,需要通过 ...

  2. Java排序--排序算法(内排序)

    常用内排序算法 我们通常所说的排序算法往往指的是内部排序算法,即需要排序的数据在计算机内存中完成整个排序的过程,当数据率超大或排序较为繁琐时常借助于计算机的硬盘对大数据进行排序工作,称之为外部排序算法 ...

  3. 获取iframe中的tree

    window.frames["iframe_name"].document.getElementById("..."); 或者 window.frames['i ...

  4. ELK电子书籍

    Elasticsearch in Action(英文版).pdfElasticsearch实战 in action(中文版).pdfElasticsearch技术解析与实战.pdfElasticsea ...

  5. flume复习(二)

    一.简介:flume是一种分布式.可靠且可用的系统,能够用于有效的从不同的源收集.聚合和移动大量的日志数据到集中式数据存储.它具有基于流数据的简单灵活的架构,它具有健壮的可靠性机制和许多故障转移和恢复 ...

  6. 为什么选择器:last-child有时没有起作用?

    想要有.list样式的最后一个不要下划线.为什么:last-child没有起作用? el:last-child 的匹配规则是:第一步,查找 el 选择器匹配元素的所有同级元素(siblings):第二 ...

  7. TensorFlow入门——hello

    上一节说了TensorFlow的安装,这一节说一下测试的问题 新建一个Python文件,输入 import tensorflow as tf hello = tf .constant (’Hello, ...

  8. Hyperledger Fabric(1)基础架构

    前言 在区块链的家谱里,第一代区块链系统是以比特币为代表的公链,主要实现的是数字货币的功能:第二代区块链系统是以以太坊平台为代表的公链,创造性的实现了智能合约.而第三代区块链系统,则是HyperLed ...

  9. Google浏览器显示URL的 http https ....

    谷歌浏览器输入 chrome://flags/#omnibox-ui-hide-steady-state-url-trivial-subdomains 输入之后, 高亮部分选项 改为 Disabled ...

  10. linux 之实现定时任务

    一.方式一 (1)命令行 的方法: 一.方式一 需求:每分钟执行一次/etc 目录的添加 到/tmp/a.txt 中 (1) touch a.txt创建文件 (2) crotab -e 进行任务的定制 ...