jstl又称jsp的标准标签库:C标签*,fmt标签,fn标签,sql标签,xml标签,这里重点讲C标签

目的:El和jstl都是为了在jsp中消灭Java代码

注意:在<!DOCTYPE html >标签之上写
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

1.c:out标签
作用:用来将作用域对象中的数据输出到页面中
例:
<%
request.setAttribute("weather", "今天天气怎么样?");
%>

<c:out value="${weather}" default="出门自己看!"></c:out>

即: value非空,执行value,value为空时,执行default,

2.c:set标签
作用一:用于将数据放入到作用域对象中,默认放入到最小的作用域中
例一:
<%
request.setAttribute("weather", "今天天气怎么样?");
%>

  <c:set var="name" value="zhangsan"></c:set>

即:默认将数据放入到pageContext中,所以用${requestScope.name}无法获取到值

例二:
<%
request.setAttribute("weather", "今天天气怎么样?");
%>

<c:set var="name" value="zhangsan" scope="request"></c:set>
${requestScope.name}

利用 scope="request"设置最小作用域为request,则${requestScope.name}可获取其值

作用二:c:set还可以在标签中间添加html代码作为标签value的属性值
如例三:
<c:set var="mytable">
<%-- border-collapse:collapse 为设置边框收合--%>
<table border="1" style="border-collapse:collapse ">
<tr><td>1.1</td><td>1.2</td></tr>
<tr><td>2.1</td><td>2.2</td></tr>
</table>
</c:set>

可由${mytable}来获取内容

3.c:remove标签
作用:将指定key从指定作用域中删除,也可以通过scope属性指定作用域

例如:
<%
pageContext.setAttribute("scope", "pageContext");
request.setAttribute("scope", "request");
session.setAttribute("scope", "session");
application.setAttribute("scope", "application");
%>

<c:remove var="scope" />删除key为scope的作用域,即上面四个全被删除

<c:remove var="scope" scope="page"/>只删除pageContext作用域,可由${scope}获取最小作用域内容

4.c:if标签

作用: 做一重判断
例如:
<%
request.setAttribute("score", 80);
%>

<c:if test="${score >= 90}" var="flag">
成绩优秀!
</c:if>
<c:if test="${!flag}">
成绩不优秀!
</c:if>

当满足条件则执行相应的语句

5.c:choose,c:when,c:otherwise组合标签
作用: 可以表示多重判断

例如:
<%
request.setAttribute("score", 80);
%>

<c:choose>
<c:when test="${score >=90}">成绩优秀</c:when>
<c:when test="${score >=80}">成绩良好</c:when>
<c:when test="${score >=60}">成绩及格</c:when>
<c:otherwise>成绩不及格</c:otherwise>
</c:choose>

当满足条件则执行相应的语句

注意:1.c:otherwise不能出现在c:when之上
           2.c:otherwise和c:when之间,c:otherwise和c:otherwise之间不能出现其它字符

6.c:forEach
作用一:遍历数据

例如 <c:forEach begin="1" end="10" step="2" var="num" varStatus="statu">
${num}---${statu.first}---${statu.last}---${statu.index}---${statu.count} <br/>
</c:forEach>
解析
begin:遍历起始位置
end:遍历的末尾位置
step:每次遍历的步长,默认为1
var:用于做遍历的变量
varStatus:当前遍历的变量的状态

statu.first:判断该数字是不是第一个
statu.last:判读该数字是不是最后一个
statu.index:表示当前数字的下标
statu.count:表示当前第几次循环

作用二:在items里填入一个可以遍历的结构

例如:
<%
List list = new ArrayList();
list.add(new User("zhangsan", "张三"));
list.add(new User("lisi", "李四"));
list.add(new User("wangwu", "王五"));
list.add(new User("zhaoliu", "赵六"));

request.setAttribute("person", list);

%>

<c:forEach items="${person}" var="p">
${p.username}---${p.realname}
<br>
</c:forEach>

或更高级一点的

<table border="1" style="border-collapse:collapse">
<tr><td>用户名</td><td>真实姓名</td></tr>
<c:forEach items="${person}" var="p">
<tr><td>${p.username}</td><td>${p.realname}</td></tr>
</c:forEach>
</table>

可遍历List中的内容

7.c:import
作用:将一个URL中的内容导入本页面中一起显示

例如:<c:import url="http://www.baidu.com"></c:import>

8.c:redirect
作用:重定向

例如:<c:redirect url="http://www.baidu.com"></c:redirect>

转载于:https://www.cnblogs.com/su-chu-zhi-151/p/11238878.html

如何将servlet中的变量在jsp页面中显示---jsp中的jstl表达式(C标签)相关推荐

  1. 编写1个JSP页面,在JSP页面中使用Java程序片输出26个小写的英文字母表。

    编写1个JSP页面,在JSP页面中使用Java程序片输出26个小写的英文字母表. <%@ page language="java" contentType="tex ...

  2. JSP页面查询显示常用模式 (附源代码)

    JSP页面查询显示常用模式 title: JSP页面查询显示常用模式 author: evan email:  evan_zhao@hotmail.com      背景: 1.    需要将数据库查 ...

  3. JSP页面查询显示常用模式

    title: JSP页面查询显示常用模式 author: evan email:  evan_zhao@hotmail.com      背景: 1.    需要将数据库查询结果在JSP中以列表方式显 ...

  4. jsp空白页面传html代码,echarts在HTML里测试一般,在jsp页面不显示,而且还把整个页面变成空白...

    echarts在HTML里测试正常,在jsp页面不显示,而且还把整个页面变成空白 echarts在HTML里测试正常,在jsp页面不显示,而且还把整个页面变成空白,请大神帮忙,急,在线等 Create ...

  5. 关于ECharts在jsp页面无法显示的问题

    关于ECharts在jsp页面无法显示 问题一,HTML5到底能不能在jsp页面显示 html5是html标准,属于w3c,是html标准的延伸,所有浏览器展示页面基本都是html的.所以我还是不太明 ...

  6. JSP页面请求响应过程中的编码解码

    该片简要讲述:JSP页面传输过程中,浏览器与服务器的编码解码以及HTTP协议对URL进行的编码解码. 问题如下: //所有的JSP页面的编码都是UTF-8的格式 //test1.jsp <%@ ...

  7. colab中的变量怎么读取_Fizyr Retinanet在Colab中进行目标检测

    colab中的变量怎么读取 by RomRoc 由RomRoc 带有Fizyr Retinanet的Google Colab中的对象检测 (Object Detection in Google Col ...

  8. jsp页面input的value中的值含英文双引号处理方法

    jsp页面input的value值输出含英文双引号问题解决 在做Jsp页面开发时,我们经常使用JSTL表达式来进行页面的输出,但是突然遇到如下一个问题 问题描述:当数据库中某个字段带双引号时,inpu ...

  9. JSP页面分页显示数据

    一.源代码(这里以一个Java web的留言板项目为例): 1.Dao层操作数据库的方法(MessageDao.java) 设置每页显示的最大留言条数: private final int MAX_S ...

最新文章

  1. mysql md5版本校验_通过MD5校验和验证MySQL软件包的完整性
  2. Maven教程(一)
  3. Oracle的order by的中文排序问题
  4. [leetcode] Single Number 查找数组中的单数
  5. ThinkPHP 3.2.3方法函数总结
  6. 计算机快捷键win,Windows电脑常用的10个Win组合快捷键,你知道多少?
  7. 对角占优矩阵(Diagonally-dominant Matrix)
  8. 电子计算机可直接,电子计算机可直接执行的指令在机器内部是以什么表示的
  9. 基于JAVA春运出行铁路路线规划推荐系统计算机毕业设计源码+系统+lw文档+部署
  10. 期货在低位放量下跌的现象(期货高位放量上涨意味什么)
  11. 微信小程序day01
  12. 数字时代下,工厂的智能加工、检测与控制
  13. window系统cmd的常用几条指令
  14. Spring教程——Spring Bean继承
  15. JS之before的实现
  16. 字节跳动安全AI挑战赛总结
  17. android+最新手机,最新Android手机性能榜单:骁龙845+8G的它只排第三
  18. 关于MapOnline无法使用谷歌地球影像的解决方案
  19. 小程序文档整理之 -- API(WXML节点信息)
  20. C++扫雷小游戏(基于CMD命令行)

热门文章

  1. 【Luogu1111】修复公路(MST模板)
  2. python 调用父类classmethod_Python__子类调用父类的方法
  3. 如何让ul的符号隐藏_亚马逊关键词大师,那些你不知道的隐藏keywords操作方法(干货)...
  4. pair用法 lower_bound upper_bound
  5. mysql for centos_CentOs中mysql的安装与配置
  6. 常见危险函数及特殊函数(一)
  7. 牛客小白月赛9: D. 树上求和(dfs序+线段树)
  8. 使用色彩追踪和形态学运算得到图像中感兴趣区域
  9. js中事件捕获和事件冒泡
  10. java将图片灰度化