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:表示变量能在本次会话 ...
随机推荐
- 【保姆级】利用Github搭建自己的个人博客,看完就会
大家好,我是辰哥~ 作为一名喜欢技术的爱好者,平时喜欢把自己学习技术的心得或者一些踩坑.易错的过程记录下来,首选的是技术平台(博客),今天辰哥来教大家如何利用Github来搭建一个自己的个人博客平台. ...
- C++第五十二篇 -- 多线程之消息传递
主线程向子线程发送消息 参考链接:https://www.cnblogs.com/ranjiewen/p/5729539.html 1. 创建线程语句 HANDLE hThread; DWORD dw ...
- thinkPHP5 5.0.23 远程代码执行漏洞
修改数据包 POST /index.php?s=captcha HTTP/1.1 Host: 192.168.49.2:8080 User-Agent: Mozilla/5.0 (Macintosh; ...
- js 调用json
url = "/plus/API/"; try { // 此处是可能产生例外的语句 } catch(error) { // 此处是负责例外处理的语句 } finally { // ...
- Spring Cloud分区发布实践(6)--灰度服务-根据Header选择实例区域
此文是一个完整的例子, 包含可运行起来的源码. 此例子包含以下部分: 网关层实现自定义LoadBalancer, 根据Header选取实例 服务中的Feign使用拦截器, 读取Header Feign ...
- JAVA数组的基础入门>从零开始学java系列
目录 JAVA数组的基础入门 什么是数组,什么情况下使用数组 数组的创建方式 获取数组的数据 数组的内存模型 为什么数组查询修改快,而增删慢? 查询快的原因 增删慢的原因 数组的两种遍历方式以及区别 ...
- Java 反射(二)运行时获取类的信息
目录 一.获得类的运行时结构 1. 获得类的名字 2. 获得类的属性 获取属性列表 获取指定属性 3. 获取类的方法 获得类的方法列表 获得指定方法 4. 获得的构造器 获得构造器列表 获得指定构造器 ...
- Java进阶练习题整理(1)
1. 检查时异常.非检查时异常.运行时异常. Throwable是一切异常.错误类的超类,Throwable有两个子类,Error(错误)和Exception(异常).Exception异常又分为Ru ...
- C++面向对象 1(类-封装)
1 //类和对象 2 //C++ 面向对象 三大特性 : 封装 继承 多态 3 4 //设计一个圆类,求圆的周长 5 //圆周长 = 2*PI * 半径 6 7 #include <iostre ...
- Java的几种创建实例方法的性能对比(二)
上一篇里对几种书写方式进行了简单的测试,得出了一些初步的结论.这次简单了解Lambda原理后,对测试做了一些调整,发现得到不一样的结果,而这个调整,明显更契合实际开发的场景. 暂时还没有亲自去验证,主 ...