jsp中核心标签使用
<%@ 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中核心标签使用的更多相关文章
- [置顶] jsp中c标签的使用
jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...
- jsp中c标签的使用
jsp中c标签的使用 核心标签库 它是JSTL中的核心库,为日常任务提供通用支持,如显示和设置变量.重复使用一组项目.测试条件和其他操作(如导入和重定向Web内容).Core标签按功能可分为4种类型: ...
- JSP内置标签 JSP中JavaBean标签 JSP开发模式 EL和JSTL快速入门
2 JSP内置标签(美化+业务逻辑) 1)为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容 2)JSP内 ...
- 关于jsp中jstl-core标签循环遍历的使用
JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签. 除了这些,它还提供 ...
- jsp中jstl标签的类似 if - else 语句 的语法
在jsp中引入jstl的标签库和函数库 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c&q ...
- JSP中<img>标签引用本地图片
问题描述: jsp页面中<img>标签如何读取本地文件夹中的图片. 问题起因: 由于上传图片至本地文件夹中,图片路径为: D:/upload/file/image/img.jpg 所以将这 ...
- 转载:jsp中jstl标签的类似 if - else 语句 的语法
原文链接:http://www.cnblogs.com/wanggd/archive/2013/05/27/3101788.html 在jsp中引入jstl的标签库和函数库 <%@ taglib ...
- jsp中<!DOCTYPE>标签
今天写代码时遇到一个问题,定义了如下一个样式: .c_c1:hover td { background-color: #edf5ce;} <tr class="c_c1"&g ...
- jsp中的标签使用
jsp中的变量作用域 表示变量的作用域,一共4种.pageScope: 表示变量只能在本页面使用.requestScope:表示变量能在本次请求中使用.sessionScope:表示变量能在本次会话 ...
随机推荐
- python + pytest基本使用方法(断言)
#pytest 的基本用法# 安装: pip install pytest#在当前目录下运行 : 输入 pytest# 1.断言#功能:用于计算a与b相加的和def add(a,b): return ...
- Mybatis order by 动态传参出现的一个小bug
大家好,我是老三,一个平平无奇的CRUD仔. 今天,我正在愉快地CRUD,突然发现出现一个Bug,我们来看看是怎么回事吧! 问题由来 一个简单的需求,要求把和当前用户相关的数据置顶展示. 这里,我用了 ...
- python3执行.sql文件
这个脚本主要是遍历执行文件夹下的sql文件,但是没有辨别文件的格式,所以文件夹下只能够放.sql文件,否则会报错哈. 我的sql文件夹与执行的文件平级,所以dir_path就是sql,大家依照自己的路 ...
- 微信小程序云开发-云存储-上传单个视频到云存储并显示到页面上
一.wxml文件 <!-- 上传视频到云存储 --> <button bindtap="chooseVideo" type="primary" ...
- Linux CentOS 7 安装配置vsftp
学习Linux时间不长,首次安装了vsftp,按照网上的各种帖子尝试配置,不过都没打到预期,不是被拒绝连接,就是连接超时,总之就是各种问题啊.当然了,不是别人配置的不对,而是自己不是太懂Linux,选 ...
- element取消全局loading
背景 前两天在开发一个管理后台项目时, 遇到了一个问题,后端接口返回特别慢,由于该接口调用的是第三方API,无法通过后端去处理.此时想到用loading动画,但随之而来也产生了不少问题, 在此记录一下 ...
- 自动化测试(1)selenium+python+chrome 连接测试
环境准备: python版本:3.8.4 开发工具:pycharm 使用chrome和对应的webdriver http://npm.taobao.org/mirrors/chromedriver/ ...
- Deepin 20.1打造软件开发环境
支持国产操作系统,替代Windows势在必行,不能让美国卡"脖子"是广大计算机爱好者的共同心愿,下面列举一下Deepin V20.1下如何安装常用软件 ============== ...
- C#.NET 国密SM3withSM2签名与验签 和JAVA互通
C# 基于.NET FRAMEWORK 4.5 JAVA 基于 JDK1.8 一.要点 1.签名算法:SM3withSM2. 2.签名值byte[] 转字符串时,双方要统一,这里是BASE64. 二. ...
- LUSE: 无监督数据预训练短文本编码模型
LUSE: 无监督数据预训练短文本编码模型 1 前言 本博文本应写之前立的Flag:基于加密技术编译一个自己的Python解释器,经过半个多月尝试已经成功,但考虑到安全性问题就不公开了,有兴趣的朋友私 ...