<%@ 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. 【动画消消乐】HTML+CSS 自定义加载动画 065

    前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出-   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计 ...

  2. 【codeforces1058】Vasya and Golden Ticket 枚举+暴力+模拟

    #点击传送 题目描述 Recently Vasya found a golden ticket - a sequence which consists of nn digits a1a2-ana1a2 ...

  3. Axure RP 9 Enterprise/Pro/Team for Mac/Windows安装破解版激活教程

    Axure RP 9.0 是一款功能强大的.操作方便.专业可靠的快速原型设计工具.一款能够在这里体验最简单的设计方式,这里有着全新的升级的软件界面,更加的时尚,更加的丰富,专为每一个用户提供了便捷的设 ...

  4. 免杀mimikatz

    mimikatz源码  下载地址https://github.com/gentilkiwi/mimikatz/releases/tag/2.2.0-20210709 使用vs2019打开工程mimik ...

  5. DC-4靶机

    仅供个人娱乐 靶机信息 下载地址:http://www.five86.com/downloads/DC-4.zip 一.主机扫描 arp-scan -l nmap -p 1-65535 -A -sV ...

  6. 🔥 LeetCode 热题 HOT 100(31-40)

    75. 颜色分类 思路:将 2 往后放,0 往前放,剩余的1自然就放好了. 使用双指针:left.right 分别指向待插入的 0 和 2 的位置,初始 left 指向数组头,right 指向数组尾部 ...

  7. VS Code的插件安装位置改变

    VS Code的相关配置 VS Code的插件安装位置改变 可以通过创建连接,将默认的extensions位置,改变到D盘 Windows 链接彻底解决 vscode插件安装位置问题 mklink / ...

  8. .NET Core/.NET5/.NET6 开源项目汇总12:WPF组件库2

    系列目录     [已更新最新开发文章,点击查看详细] WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Frame ...

  9. PDL语言/ 盒图N-S/ PAD图

    PDL语言 伪码伪代码 基本语法 算法用Begin开始,以End结束(如果只表示中间部分的算法可以不要) 每一条指令,占一行.指令的结束不用任何符号 注释 用"//"表示 用Pri ...

  10. linux 高并发socket通信模型

    ------select 1 一个误区很多人认为它最大可以监听1024个,实际上却是文件描述符的值不能大于等于1024,所以除掉标准输入.输出.错误输出,一定少于1024个,如果在之前还打开了其他文件 ...