<%@ page language="java" import="java.util.*, java.lang.*" pageEncoding="UTF-8"%>
<%@ page import="entity.Student" %>
<%--导入核心标签库 --%>
<%--
uri: 表示需要导入的标签库的uri名称。每个标签库都会有一个tld后缀名的标签声明文件,在tld文件中都有唯一的uri的名称。这个uri的名称就是当前标签库的名称。
prefix: 使用标签库的前缀,通用和tld文件的short-name名称相同
--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>核心标签库</title>
</head>
<body>
<%
String name = "mzy";
pageContext.setAttribute("name", name);
%> <%--
(1) <c:set></c:set>给域对象赋值 var: 数据的名称
value: 保存的数值
scope:保存到哪个域
page -> page域
request -> request域
session -> session域
application -> application域
--%>
<c:set var="name" value="jack" scope="request"/> <%--
(2) <c:out/> 获取域对象的数据
value:代表获取域中的某个名称内容。
如果数据在域中,必须使用EL表达式去获取 default:默认值。当前需要获取的内容为null,
那么使用默认值代替。 escapeXml:
默认情况为true,out标签会把输入的内容进行转义。
(及里面有特殊字符进行转义输出)
如果不需要转义,则设置为false即可!
--%>
<c:out value="${name }"></c:out><br> ${name }
<c:out value="${pageScope.name }"></c:out><br>
<c:out value="${requestScope.name }" default="<h3>标题</h3>" escapeXml="false"></c:out><br> <hr/>
<%--
(3) <c:if/>:单条件判断
test:
条件表达式。返回true的时候,就会执行if标签体内容,
否则,不执行。
--%>
<c:if test="${10>8 }">
<input type="submit" value="提交"/>
</c:if> <%--
(4)
<c:choose/>+<c:when/>+<c:otherwise/>
多条件判断 登录之后,一定会把数据存放到session域,user名称
模拟登录:
session.setAttribute("user", user);
--%>
<%-- 模拟登录 --%>
<c:set var="user" value="mzy" scope="session"></c:set> <c:choose>
<c:when test="${!empty sessionScope.user }">
欢迎回来,您的用户名是:${sessionScope.user }
<a href="">【退出登录】</a>
</c:when>
<c:otherwise>
请先<a href="www.baidu.com">注册</a>
或<a href="">登录</a>
</c:otherwise>
</c:choose> <%--
(5)
<c:forEach/> 用于迭代或循环
begin:从哪个元素位置开始遍历,从0开始
end:到哪个元素位置
step:增加步长。默认step为 1
items:需要遍历的数据。(数组、List集合 或者 Map集合)
如果是获取域数据,那么使用EL表达式获取
var:每个元素名称
varStatus:当前状态对象。该对象封装当前元素状态信息。
例如:count属性:表示当前遍历的是哪个元素,从1开始的
--%>
<%
List<Student> list = new ArrayList<Student>();
list.add(new Student("aaa", "111111"));
list.add(new Student("bbb", "222222"));
list.add(new Student("ccc", "333333"));
pageContext.setAttribute("list", list); Map<String,Student> map = new HashMap<String,Student>();
map.put("001", new Student("aaa", "111111"));
map.put("002", new Student("bbb", "222222"));
map.put("003", new Student("ccc", "333333"));
pageContext.setAttribute("map",map); %>
<hr>
List集合:<br>
<c:forEach items="${list }" var="stu" varStatus="varSta">
序号:${varSta.count } -
姓名:${stu.name } -
密码:${stu.id }
<br/> </c:forEach>
<hr> Map集合:<br>
<%--
注意:
forEach标签遍历Map集合时,把每个Map的对象
使用Entry封装:
Entry封装键对象和值对象,通过getKey()
获取键对象,通过getValue()获取值对象
--%>
<c:forEach items="${map }" var="entry">
编号:${entry.key } -
姓名:${entry.value.name } -
学号:${entry.value.id }<br/>
</c:forEach> <%--
(6) <c:forTokens> 遍历特殊字符串
items:需要遍历的字符串
delims:指定分割符号
var:每个内容的名称
--%>
<%-- 不写scope默认的就是pageScope --%>
<c:set var="str" value="java-net-php-平面设计"></c:set>
<%
String str = (String)pageContext.getAttribute("str");
String[] strs = str.split("-");
for(int i=0; i<strs.length; i++) {
// out.write(strs[i]+" ");
}
%>
<c:forTokens items="${str }" delims="-" var="s">
${s }
</c:forTokens> <%--
(7) <c:redirect/> 重定向标签
--%>
<%
// response.sendRedirect(request.getContextPath()+"/guess.jsp");
%>
<%-- 注意:此标签的重定向是在站内跳转,与我们熟知的重定向服务器行为不同 --%>
<c:redirect url="/guess.jsp"></c:redirect>
</body>
</html>

jsp中核心标签使用的更多相关文章

  1. [置顶] jsp中c标签的使用

    jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...

  2. jsp中c标签的使用

    jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...

  3. JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门

    2 JSP内置标签(美化+业务逻辑)   1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容   2)JSP内 ...

  4. 关于jsp中jstl-core标签循环遍历的使用

    JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...

  5. jsp中jstl标签的类似 if - else 语句 的语法

    在jsp中引入jstl的标签库和函数库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c&q ...

  6. JSP中<img>标签引用本地图片

    问题描述: jsp页面中<img>标签如何读取本地文件夹中的图片. 问题起因: 由于上传图片至本地文件夹中,图片路径为: D:/upload/file/image/img.jpg 所以将这 ...

  7. 转载:jsp中jstl标签的类似 if - else 语句 的语法

    原文链接:http://www.cnblogs.com/wanggd/archive/2013/05/27/3101788.html 在jsp中引入jstl的标签库和函数库 <%@ taglib ...

  8. jsp中<!DOCTYPE>标签

    今天写代码时遇到一个问题,定义了如下一个样式: .c_c1:hover td { background-color: #edf5ce;} <tr class="c_c1"&g ...

  9. jsp中的标签使用

    jsp中的变量作用域 表示变量的作用域,一共4种.pageScope:  表示变量只能在本页面使用.requestScope:表示变量能在本次请求中使用.sessionScope:表示变量能在本次会话 ...

随机推荐

  1. ROS轮椅

  2. ACM金牌选手讲解LeetCode算法《栈和队列的高级应用》

    大家好,我是编程熊,双非逆袭选手,字节跳动.旷视科技前员工,ACM金牌,保研985,<ACM金牌选手讲解LeetCode算法系列>作者. 上一篇文章讲解了<线性表>中的数组.链 ...

  3. 在Springboot + Mybaitis-plus 项目中利用Jackson实现json对java多态的(反)序列化

    Jackson允许配置多态类型处理,当JSON面对的转换对象是一个接口.抽象类或者一个基类的时候,可以通过一定配置实现JSON的转换.在实际项目中,Controller层接收入参以及在Dao层将对象以 ...

  4. Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示

    前言   在ubuntu上实现MPlayer播放器播放音乐.   Demo                Mplayer   MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布.此款软件 ...

  5. 如何使用Scala的ClassTag

    Scala官方文档中对于ClassTag的定义如下: ClassTag[T]保存着在运行时被JVM擦除的类型T的信息.当我们在运行时想获得被实例化的Array的类型信息的时候,这个特性会比较有用. 下 ...

  6. java中的集合类学习(三)

    JAVA中有许多的集合,常用的有List,Set,Queue,Map. 1.其中List,Set,Queue都是Collection(集合),其每个元素都是单独的一个对象,如List<Strin ...

  7. canvas点阵函数波动,类似飘带或水波

    canvas动画利用函数波动特点制作水波动画 <canvas id="myCanvas" width="500" height="400&quo ...

  8. LinkedHashMap 与 LRUcache

    LRU 缓存介绍 我们平时总会有一个电话本记录所有朋友的电话,但是,如果有朋友经常联系,那些朋友的电话号码不用翻电话本我们也能记住,但是,如果长时间没有联系了,要再次联系那位朋友的时候,我们又不得不求 ...

  9. Apache Unomi 远程表达式代码执行漏洞(CVE-2020-13942)

    影响版本: Apache Unomi < 1.5.2

  10. centos7网卡配置文件

    HWADDR=00:0c:29:a7:8e:ee TYPE=Ethernet BOOTPROTO=staticDEFROUTE=yes PEERROUTES=yesPEERROUTES=yes IPV ...