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 ...
随机推荐
- CSS弹性盒模型flex在布局中的应用
× 目录 [1]元素居中 [2]两端对齐 [3]底端对齐[4]输入框按钮[5]等分布局[6]自适应布局[7]悬挂布局[8]全屏布局 前面的话 前面已经详细介绍过flex弹性盒模型的基本语法和兼容写法, ...
- 查看abp框架异常信息
abp框架中经常出现{"message":"An error has occurred."}的异常,并且也进入不到方法中,如果想查看详细信息,可以采用下面方法 ...
- 哈夫曼树(一)之 C语言详解
本章介绍哈夫曼树.和以往一样,本文会先对哈夫曼树的理论知识进行简单介绍,然后给出C语言的实现.后续再分别给出C++和Java版本的实现:实现的语言虽不同,但是原理如出一辙,选择其中之一进行了解即可.若 ...
- 使用Ambari安装hadoop集群
最近需要做些spark的工作,所以弄了几台dell7500就这么准备开始搭建集群,之前用过几台更破的台式机搭建过一次,折腾了半个月之久,终于成功搭建,这次不想走老路,所以网上查了一下,发现一个神器AM ...
- 基于@AspectJ配置Spring AOP之一--转
原文地址:http://tech.it168.com/j/2007-08-30/200708302209432.shtml 概述 在低版本Spring中定义一个切面是比较麻烦的,需要实现特定的接口,并 ...
- 浅谈servlet版本
说白话,eclipseJ2EE版本新建一个web项目后,在IDE中的项目根目录下会看到2.3,2.4,2.5,3.0,3.1....据说最新的4.0在路上,已经有草案了,很期待ing. 360百科是这 ...
- WTF Forms – 使用 CSS 实现用户体验更好的表单
WTF forms 借助 CSS 提供友好的 HTML 表单控件,专为 IE9+ 以及最新的 Chrome.Safari 和 Firefox 浏览器.以文件输入控件的改进,使用 label 包裹在 i ...
- Android OpenGL 编写简单滤镜
Android 上使用Opengl进行滤镜渲染效率较高,比起单纯的使用CPU给用户带来的体验会好很多.滤镜的对象是图片,图片是以Bitmap的形式表示,Opengl不能直接处理Bitmap,在Andr ...
- Sql Server,如何去含有非数字的nvarchar,再转为为数值
菜鸟一枚,今天做项目时,突然遇到一个问题: 在数据库中中存放的nvarchar类型的“时间”,例如:‘08:00’,而我需要进行时间的范围比较,这时就想到了将nvarchar类型转化为int类型. 这 ...
- 【Swift学习】Swift编程之旅---集合类型之Sets(七)
Sets是存储无序的相同类型的值,你可以在顺序不重要的情况下使用Sets来替代数组,或者当你需要同一个值在集合中只出现一次时. 一.Sets类型语法 写作Set<Element>,Ele ...