JSTL标签(转载)
JSTL标签是一个实现web功能的定制标签库,包括输出功能,条件判断,循环等,使用JSTL标签,为动态编写WEB应用程序提供了很大的方便性,能很好的和Java语言和HTML进行结合。下面我们看看jstl标签的用法
1.环境搭建
下载jar包 http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/ ,jstl包括两个jar包,standard.jar和jstl.jar包,把这两个JAR包添加到项目中,这样JSTL必须的环境就搭建好了
2. EL表达式
使用EL表达式,我们可以动态的在页面中输出变量,EL表达式的使用 ${变量}
[html] view plain copy
- <!-- EL表达式用法 -->
- <%session.setAttribute("skuname", "白色运动鞋"); %>
- ${skuname}
- ${3+5}
3. out标签
out标签是JSTL中使用最多,最常用的标签。在使用JSTL标签的时候,要在页面中引入组件,添加如下标签
[html] view plain copy
- <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
[html] view plain copy
- <%session.setAttribute("skuname", "白色运动鞋"); %>
- ${skuname}
- ${3+5}
- <c:out value="${skuname}"></c:out>
- <c:out value="商品名称"></c:out>
4. set标签
通过SET标签,可以动态定义变量,并赋值,还可以为javabean对象赋值
[html] view plain copy
- <!-- set标签用法 -->
- <c:set value="0002" var="skucode" scope="session"> </c:set>
- <c:out value="${skucode}"></c:out>
- <c:set var="skuname" scope="session">太阳镜 </c:set>
- <c:out value="${skuname}"></c:out>
给JAVABEAN对象赋值,在页面中引入JAVA对象
[html] view plain copy
- <jsp:useBean id="category" class="dto.Category"></jsp:useBean>
[html] view plain copy
- <Br/>
- <!-- 给JAVA对象赋值 -->
- <c:set target="${category}" property="name" value="太阳镜"></c:set>
- <c:out value="${category.name}"></c:out>
- <c:set target="${category}" property="catcode" value="00008"></c:set>
- <c:out value="${category.catcode}"></c:out>
target表示对象
property表示对象属性
value表示对象值
5.Remove标签
Remove是一个删除标签,可以删除页面中定义的变量,
[html] view plain copy
- <c:set value="50" var="num" scope="session"> </c:set>
- <c:out value="${num}"></c:out>
6.Catch标签
catch主要用来捕捉异常。
[html] view plain copy
- <c:catch var="result">
- <c:set target="${ss}" property="name" value="太阳镜"></c:set>
- </c:catch>
- <c:out value="${result}"></c:out>
- <Br/>
7.IF标签
if标签主要用来条件判断。
[html] view plain copy
- <c:if test="${count>5}" var="info">
- <c:out value="数量大于5"></c:out>
- </c:if>
- <c:out value="${info}"></c:out>
- <c:out value="${count}"></c:out>
- <Br/>
8.choose
choose和IF标签一样,也用来做条件判断,可以根据指定的条件进行不同的跳转
[html] view plain copy
- <!-- choose标签 -->
- <c:choose>
- <c:when test="${count>5}">
- <c:out value="优秀"></c:out>
- </c:when>
- <c:when test="${count<0}">
- <c:out value="差"></c:out>
- </c:when>
- <c:otherwise>
- <c:out value="一般" ></c:out>
- </c:otherwise>
- </c:choose>
9. foreach标签
foreach标签主要用来循环
[html] view plain copy
- <Br>
- <!-- foreach标签 -->
- <Br>
- <%
- List<String> list=new ArrayList<String>();
- list.add("优秀");
- list.add("一般");
- list.add("差");
- request.setAttribute("list", list);
- %>
- <c:forEach var="item" items="${list}" >
- <c:out value="${item}" ></c:out>
- </c:forEach>
10.forToken
forToken主要用来分隔字符串
[html] view plain copy
- <!-- forToken标签 -->
- <c:forTokens items="1,2,3" delims="," var="item">
- <c:out value="${item}" ></c:out>
- </c:forTokens>
11.其他标签
[objc] view plain copy
- <!-- import标签 -->
- <c:import url="http://www.jd.com/"></c:import>
- <!-- redirect标签 -->
- <c:redirect url="http://www.jd.com/">
- </c:redirect>
- <!-- url标签 -->
- <c:url value="http://www.jd.com/" var="link">
- </c:url>
- <A href="${link}">链接地址</A>
全部代码如下
[java] view plain copy
- package dto;
- public class Category {
- private String catcode;
- public String getCatcode() {
- return catcode;
- }
- public void setCatcode(String catcode) {
- this.catcode = catcode;
- }
- private String name;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
[html] view plain copy
- <%@page import="java.util.ArrayList"%>
- <%@page import="java.util.List"%>
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
- <jsp:useBean id="category" class="dto.Category"></jsp:useBean>
- <!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=ISO-8859-1">
- <title>Insert title here</title>
- </head>
- <body>
- <!-- EL表达式用法 -->
- <%session.setAttribute("skuname", "白色运动鞋"); %>
- ${skuname}
- ${3+5}
- <c:out value="${skuname}"></c:out>
- <c:out value="商品名称"></c:out>
- <Br/>
- <!-- set标签用法 -->
- <c:set value="0002" var="skucode" scope="session"> </c:set>
- <c:out value="${skucode}"></c:out>
- <c:set var="skuname" scope="session">太阳镜 </c:set>
- <c:out value="${skuname}"></c:out>
- <Br/>
- <!-- 给JAVA对象赋值 -->
- <c:set target="${category}" property="name" value="太阳镜"></c:set>
- <c:out value="${category.name}"></c:out>
- <c:set target="${category}" property="catcode" value="00008"></c:set>
- <c:out value="${category.catcode}"></c:out>
- <Br/>
- <!-- Remove标签 -->
- <c:set value="50" var="num" scope="session"> </c:set>
- <c:out value="${num}"></c:out>
- <Br/>
- <!-- catch标签 -->
- <c:catch var="result">
- <c:set target="${ss}" property="name" value="太阳镜"></c:set>
- </c:catch>
- <c:out value="${result}"></c:out>
- <Br/>
- <!-- if标签 -->
- <%int count=10; request.setAttribute("count",count);%>
- <c:if test="${count>5}" var="info">
- <c:out value="数量大于5"></c:out>
- </c:if>
- <c:out value="${info}"></c:out>
- <c:out value="${count}"></c:out>
- <Br/>
- <!-- choose标签 -->
- <c:choose>
- <c:when test="${count>5}">
- <c:out value="优秀"></c:out>
- </c:when>
- <c:when test="${count<0}">
- <c:out value="差"></c:out>
- </c:when>
- <c:otherwise>
- <c:out value="一般" ></c:out>
- </c:otherwise>
- </c:choose>
- <Br>
- <!-- foreach标签 -->
- <Br>
- <%
- List<String> list=new ArrayList<String>();
- list.add("优秀");
- list.add("一般");
- list.add("差");
- request.setAttribute("list", list);
- %>
- <c:forEach var="item" items="${list}" >
- <c:out value="${item}" ></c:out>
- </c:forEach>
- <Br>
- <!-- forToken标签 -->
- <c:forTokens items="1,2,3" delims="," var="item">
- <c:out value="${item}" ></c:out>
- </c:forTokens>
- <!-- import标签 -->
- <c:import url="http://www.jd.com/"></c:import>
- <!-- redirect标签 -->
- <c:redirect url="http://www.jd.com/">
- </c:redirect>
- <!-- url标签 -->
- <c:url value="http://www.jd.com/" var="link">
- </c:url>
- <A href="${link}">链接地址</A>
- </body>
- </html>
JSTL标签(转载)的更多相关文章
- 【转载】JSTL 标签大全详解
版权声明:本文为博主原创文章,转载请注明出处,冷血之心的博客. https://blog.csdn.net/qq_25827845/article/details/53311722 (尊重劳动成果,转 ...
- JSTL标签出错:<c:forEach var="book" items="${requestScope.books}" varStatus="status">
今天在运行书里的JSTL标签代码的时候出错,总结一下: 问题1.The JSP specification requires that an attribute name is preceded by ...
- JSTL标签库的基本教程之核心标签库(二)
JSTL标签库的基本教程之核心标签库(二) 核心标签库 标签 描述 <c:out> 用于在JSP中显示数据,就像<%= ... > <c:set> 用于保存数据 & ...
- JSTL 标签大全详解
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53311722 冷血之心的博客) 一.JSTL标签介绍 1.什么是 ...
- web开发(七) JSTL标签库
在网上看见一篇不错的文章,写的详细. 以下内容引用那篇博文.转载于<http://www.cnblogs.com/whgk/p/6432786.html>,在此仅供学习参考之用. 一.为什 ...
- 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. 如何使用 ? 参考网址 ...
随机推荐
- 代码实现:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 (包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import java.ut ...
- flutter column row布局的列表自适应宽高
mainAxisSize: MainAxisSize.min
- flutter dialog
flutter Dialog import 'dart:math'; import 'package:flutter/material.dart'; import 'test.dart'; impor ...
- python学习之模块-模块(一)
第五章 5.1 自定义模块 模块概念: 把一些常用的函数放在一个py文件中,这个文件就称之为模块. 模块的意义: 1.方便管理.让程序的解构更加清晰,实现功能的重复使用: 2.提升开发效率 ...
- python_面试题_DB相关问题
1.mysql部分 问题 问题1:mysql的存储引擎 问题2:mysql的索引机制 问题3:mysql的事务以及事务隔离级别 问题4:mvcc/GAP lock是做什么的 问题5:mysql的悲观锁 ...
- 应用安全 - 社工 - By 大数据 - shodan - 汇总
使用 | 命令 搜索语法 hostname: 搜索指定的主机或域名,例如 hostname:”google” port: 搜索指定的端口或服务,例如 port:”” country: 搜索指定的国家, ...
- 【Qt开发】在QLabel已经显示背景图片后绘制图形注意事项
主要是要解决图形覆盖的问题,通常的办法就是对QLabel进行子类化,并重载函数: void myLabel::paintEvent(QPaintEvent *event) { QLab ...
- 【VS开发】Windows上的音频采集技术
前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音. 之前一直没有研究过音频的相关技术,这次就顺便抽出一点时间去了解了一下Windows上采集音频的相关技术. 对于音频处 ...
- mybatis 批量操作 ------持续更新
mybatis 不存在则才进行添加 # 添加的 sql 语句insert into sys_link_post_user(post_id,user_id)# 进行批量添加 (若不需要可以取消 froe ...
- spring boot1.1 idea + springboot + mybatis(mybatis-generator) +mysql +html实现简单的登录注册
前言 这两年springboot比较火,而我平时的工作中不怎么使用spring boot,所以工作之余就自己写写项目练练手,也跟大家一起学习. 打算从最开始的搭架子,登录注册,到后台管理的增删改查,业 ...