为什么提出jstl标签?

Jsp中包含html标签+java片段使得jsp页面比较乱。
提出:能不能把<% %>java片段用标签替换 jsp页面更简洁

使用注意:

1.<%%>中放的代码是纯java代码,在其中是不能放jstl标签代码的

2.${}中是不能嵌套使用${}的

3.jstl标签是可以放el表达式的

<!-- 引入jstl标签库 -->

JSTL-Library—>jstl-impl.jar—>META-INF—>c.tld

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

JSTL 核心标签库(C标签)标签共有13个,功能上分为4类:
1.表达式控制标签:out、set、remove、catch
2.流程控制标签:if、choose、when、otherwise
3.循环标签:forEach、forTokens
4.URL操作标签:import、url、redirect

下面<% %>中间的代码是测试用

c_out

  1. <%
  2. //out.println("hello,world");
  3. //如果我们的域对象中有相同的属性名 c:out的优先级是pageContext>request>session>application
  4. request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");
  5. //session.setAttribute("abc","你好");
  6. // application.setAttribute("abc","你好");
  7. // pageContext.setAttribute("abc","你好");
  8.  
  9. User u=new User();
  10. u.setName("小明");
  11. u.setPassword("123");
  12. request.setAttribute("user1",u);
  13. %>
  14.  
  15. <c:out value="hello,world"></c:out>
  16. <h3>如何输出request/session/application/pageContext域对象的数据</h1>
  17. <!--escapeXml指定是否按照html样式显示,默认【true】表示文本 【false】表示html样式 -->
  18. <c:out value="${abc}" default="没有值" escapeXml="false"></c:out> <!-- 等同于 request.getAttribute("abc").toString(); -->
  19. <h3>如何输出一个对象的值</h3>
  20. <c:out value="${user1.name }"></c:out> <!-- 等同于((User)request.getAttribute("user1")).getName(); -->

<c:set>

  1. 这个标签用于在某个范围(pagerequestsessionapplication等)设置某个值
  2. <c:set var="abc" value="中国,北京" scope="request"></c:set> <!--等价于request.setAttribute("abc","中国,北京") -->
  3. <c:out value="${abc}"></c:out>

<c:remove>

  1. <%
  2. request.setAttribute("a","你好");
  3. %>
  4. <h3>输出</h3>
  5. <c:out value="${a}"></c:out>
  6. <h3>remove</h3>
  7. <c:remove var="a" scope="request" />
  8. <c:out value="${a}" default="没有值"></c:out>

<c:choose>

  1. <%
  2. request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");
  3. User u=new User();
  4. u.setName("小明");
  5. u.setAge("123");
  6. request.setAttribute("user1",u);
  7. %>
  8.  
  9. <c:choose>
  10. <c:when test="${user1.age<110 }">
  11. 小于
  12. </c:when>
  13. <c:when test="${user1.age>110 }">
  14. 大于
  15. </c:when>
  16. <c:otherwise>
  17. 其他
  18. </c:otherwise>
  19. </c:choose>

<c:foreach>

  1. <h3>foreach的取法</h3>
  2. <!--${all}表示域对象的那个属性(一般是一个集合) var="user"表示具体的对象 -->
  3. <c:forEach items="${all}" var="user">
  4. <c:out value="${user.name}"></c:out>
  5. <c:out value="${user.password}"></c:out>
  6. </c:forEach>
  7. <h3>第二种迭代:1 to 10</h3>
  8. <c:forEach var="i" begin="1" end="10" >
  9. <c:out value="${i}"></c:out>--
  10. </c:forEach>
  11. <h3>第三种迭代:1 to 10 step=3</h3>
  12. <c:forEach var="i" begin="1" end="10" step="3" >
  13. <c:out value="${i}"></c:out>--
  14. </c:forEach>

<c:if>

  1. <%
  2. request.setAttribute("a","hello");
  3. request.setAttribute("age", "56");
  4. %>
  5. <h1>判断字符串</h1>
  6. <c:if test="${a=='hello'}">
  7. ok
  8. </c:if>
  9. <c:if test="${a!='hello'}">
  10. no
  11. </c:if>
  12. <h1>判断数值</h1>
  13. <c:if test="${age==56}">
  14. 等于56
  15. </c:if>
  16. <c:if test="${age>40 and age<60}">
  17. age>40 and age<60
  18. </c:if>

<c:fortokens>

  1. <c:forTokens items="12;23;你好;haha" delims=";" var="temp">
  2. ${temp}
  3. </c:forTokens>

jstl标签的更多相关文章

  1. JSTL标签 参考手册

    前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...

  2. JSTL标签库

    JSP页面作为内嵌java的Html简化了Servlet在控制页面显示的语法,但JSP脚本中的表达式功能不够强大,语法也稍显繁杂,EL(Expression Language)表达式语言的出现能够大大 ...

  3. 重温JSP学习笔记--JSTL标签库

    以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...

  4. 简单实用JSTL标签库

    1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...

  5. JSTL标签库之核心标签

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  6. jstl 标签库的使用

    JSTL 核心标签库 使用   JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.ot ...

  7. 自定义jstl标签库

    开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...

  8. JSP的JSTL标签使用

    JSTL标签和asp.net中的webform控件很像,但是功能确比asp.net的强很多. 配置过程,从最简单的项目开始: 1.下载JSTL标签库:http://archive.apache.org ...

  9. JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)

    1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...

随机推荐

  1. 如何优雅的使用vue+vux开发app -01

    如何优雅的使用vue+vux开发app -01 很明显下面是个错误的示范: <!DOCTYPE html> <html> <head> <title>v ...

  2. noip 2016提高组D2T1 problem

    我们可以先预处理一下组合数模K的值,然后我们可以发现对于答案ji[n][m],可以发现递推式ji[i][j]=ji[i-1][j]+ji[i][j-1]-ji[i-1][j-1]并对于Cij是否%k等 ...

  3. CCNA网络工程师学习进程(1)网络的基本概述

        在互联网快速发展的今天,了解互联网成为一项必须的技能,因此在学习编程之余学习如何配置网络还是很有必要的. 本系列博客计划分为三个部分,包括思科CCNA.CCNP和华为的网络工程师认证有关的知识 ...

  4. Ucos系统常用的数据结构有哪些?

    1)表 链表 表中主要了解链表,尤其是单向链表. 2)数组 一维数组 二维数组 使用数组有什么好处,在c语言中,数组是一组连续数字的集合它们数组的下标,代表了数组的相对位置,所以说,在一些高效的查表过 ...

  5. javascript语句——表达式语句、块语句、空语句和声明语句

    × 目录 [1]表达式 [2]块语句 [3]空语句[4]声明 前面的话 如果表达式在javascript中是短语,那么语句(statement)就是javascript整句或命令.表达式计算出一个值, ...

  6. javase基础复习攻略《十》

    按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...

  7. 模拟java.util.Collection一些简单的用法

    /* 需求:模拟java.util.Collection一些简单的用法! 注意:java虚拟机中并没有泛型类型的对象.泛型是通过编译器执行一个被称为类型擦除的前段转换来实现的. 1)用泛型的原生类型替 ...

  8. 数据结构:C_顺序栈的实现

    数据结构顺序栈的实现(C语言版) 1.写在前面 栈是一种遵循元素先进(Push)后出(Pop)规则的线性表,它的实现可以用数组或者链表. ..... 2.代码分解 2.1对栈的结构定义: typede ...

  9. [Node.js] Node.js项目的持续集成

    原文地址:http://www.moye.me/2016/03/03/nodejs_ci_by_jenkins 引子 持续集成 (Continuous Integration,简称CI)是一种软件工程 ...

  10. 可视化工具solo show-----Processing Prefuse show

    继上篇<可视化工具solo show>罗列出一些主要基于Java开发的软件.插件之后,又仔细揣摩了下哪些可以为我所用. 一番端详之后,准备挑出其中Processing和Prefuse两位大 ...