jstl标签
为什么提出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
- <%
- //out.println("hello,world");
- //如果我们的域对象中有相同的属性名 c:out的优先级是pageContext>request>session>application
- request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");
- //session.setAttribute("abc","你好");
- // application.setAttribute("abc","你好");
- // pageContext.setAttribute("abc","你好");
- User u=new User();
- u.setName("小明");
- u.setPassword("123");
- request.setAttribute("user1",u);
- %>
- <c:out value="hello,world"></c:out>
- <h3>如何输出request/session/application/pageContext域对象的数据</h1>
- <!--escapeXml指定是否按照html样式显示,默认【true】表示文本 【false】表示html样式 -->
- <c:out value="${abc}" default="没有值" escapeXml="false"></c:out> <!-- 等同于 request.getAttribute("abc").toString(); -->
- <h3>如何输出一个对象的值</h3>
- <c:out value="${user1.name }"></c:out> <!-- 等同于((User)request.getAttribute("user1")).getName(); -->
<c:set>
- 这个标签用于在某个范围(page,request,session,application等)设置某个值
- <c:set var="abc" value="中国,北京" scope="request"></c:set> <!--等价于request.setAttribute("abc","中国,北京") -->
- <c:out value="${abc}"></c:out>
<c:remove>
- <%
- request.setAttribute("a","你好");
- %>
- <h3>输出</h3>
- <c:out value="${a}"></c:out>
- <h3>remove</h3>
- <c:remove var="a" scope="request" />
- <c:out value="${a}" default="没有值"></c:out>
<c:choose>
- <%
- request.setAttribute("abc","你好<a href='http://www.sohu.com'>sohu</a>");
- User u=new User();
- u.setName("小明");
- u.setAge("123");
- request.setAttribute("user1",u);
- %>
- <c:choose>
- <c:when test="${user1.age<110 }">
- 小于
- </c:when>
- <c:when test="${user1.age>110 }">
- 大于
- </c:when>
- <c:otherwise>
- 其他
- </c:otherwise>
- </c:choose>
<c:foreach>
- <h3>foreach的取法</h3>
- <!--${all}表示域对象的那个属性(一般是一个集合) var="user"表示具体的对象 -->
- <c:forEach items="${all}" var="user">
- <c:out value="${user.name}"></c:out>
- <c:out value="${user.password}"></c:out>
- </c:forEach>
- <h3>第二种迭代:1 to 10</h3>
- <c:forEach var="i" begin="1" end="10" >
- <c:out value="${i}"></c:out>--
- </c:forEach>
- <h3>第三种迭代:1 to 10 step=3</h3>
- <c:forEach var="i" begin="1" end="10" step="3" >
- <c:out value="${i}"></c:out>--
- </c:forEach>
<c:if>
- <%
- request.setAttribute("a","hello");
- request.setAttribute("age", "56");
- %>
- <h1>判断字符串</h1>
- <c:if test="${a=='hello'}">
- ok
- </c:if>
- <c:if test="${a!='hello'}">
- no
- </c:if>
- <h1>判断数值</h1>
- <c:if test="${age==56}">
- 等于56
- </c:if>
- <c:if test="${age>40 and age<60}">
- age>40 and age<60
- </c:if>
<c:fortokens>
- <c:forTokens items="12;23;你好;haha" delims=";" var="temp">
- ${temp}
- </c:forTokens>
jstl标签的更多相关文章
- JSTL标签 参考手册
前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...
- JSTL标签库
JSP页面作为内嵌java的Html简化了Servlet在控制页面显示的语法,但JSP脚本中的表达式功能不够强大,语法也稍显繁杂,EL(Expression Language)表达式语言的出现能够大大 ...
- 重温JSP学习笔记--JSTL标签库
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...
- 简单实用JSTL标签库
1. JSTL标签库是一个什么东东? 简单来说,有了它你就可以在类似HTML的JSP页面里面运用一些高级语法,实现迭代.条件判断.XML文档操作.国际化标签.SQL标签. 2. 如何使用 ? 参考网址 ...
- JSTL标签库之核心标签
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- jstl 标签库的使用
JSTL 核心标签库 使用 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out.set.remove.catch 2.流程控制标签:if.choose.when.ot ...
- 自定义jstl标签库
开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...
- JSP的JSTL标签使用
JSTL标签和asp.net中的webform控件很像,但是功能确比asp.net的强很多. 配置过程,从最简单的项目开始: 1.下载JSTL标签库:http://archive.apache.org ...
- JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1.JSP常用标签 * 只要支持JSP文件,常用标签有可以直接使用 * 格式: jsp:xxxx * jsp:forward ,完成jsp页面的转发 * page属性:转发的地址 <% requ ...
随机推荐
- 如何优雅的使用vue+vux开发app -01
如何优雅的使用vue+vux开发app -01 很明显下面是个错误的示范: <!DOCTYPE html> <html> <head> <title>v ...
- 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等 ...
- CCNA网络工程师学习进程(1)网络的基本概述
在互联网快速发展的今天,了解互联网成为一项必须的技能,因此在学习编程之余学习如何配置网络还是很有必要的. 本系列博客计划分为三个部分,包括思科CCNA.CCNP和华为的网络工程师认证有关的知识 ...
- Ucos系统常用的数据结构有哪些?
1)表 链表 表中主要了解链表,尤其是单向链表. 2)数组 一维数组 二维数组 使用数组有什么好处,在c语言中,数组是一组连续数字的集合它们数组的下标,代表了数组的相对位置,所以说,在一些高效的查表过 ...
- javascript语句——表达式语句、块语句、空语句和声明语句
× 目录 [1]表达式 [2]块语句 [3]空语句[4]声明 前面的话 如果表达式在javascript中是短语,那么语句(statement)就是javascript整句或命令.表达式计算出一个值, ...
- javase基础复习攻略《十》
按照计划本篇为大家总结JAVA的网络编程,什么叫网络编程呢?网络编程!=网站编程,对于这一点大家一定要注意,很多小朋友都曾经这么认为.既然谈到网络编程,咱们先了解一下网络的基础知识,什么是计算机网络? ...
- 模拟java.util.Collection一些简单的用法
/* 需求:模拟java.util.Collection一些简单的用法! 注意:java虚拟机中并没有泛型类型的对象.泛型是通过编译器执行一个被称为类型擦除的前段转换来实现的. 1)用泛型的原生类型替 ...
- 数据结构:C_顺序栈的实现
数据结构顺序栈的实现(C语言版) 1.写在前面 栈是一种遵循元素先进(Push)后出(Pop)规则的线性表,它的实现可以用数组或者链表. ..... 2.代码分解 2.1对栈的结构定义: typede ...
- [Node.js] Node.js项目的持续集成
原文地址:http://www.moye.me/2016/03/03/nodejs_ci_by_jenkins 引子 持续集成 (Continuous Integration,简称CI)是一种软件工程 ...
- 可视化工具solo show-----Processing Prefuse show
继上篇<可视化工具solo show>罗列出一些主要基于Java开发的软件.插件之后,又仔细揣摩了下哪些可以为我所用. 一番端详之后,准备挑出其中Processing和Prefuse两位大 ...