jstl 使用
1、需要导入:
1)jstl.jar
2)standard.jar
引入:jsp相应的核心库:<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
其中preifix表示是什么标签。 url表示引用什么标签。会报错:org.apache.jasper.JasperException: /action/demo7.jsp (line: 15, column: 0) According to TLD or attribute directive in tag file, attribute test does not accept any expressions
需要更改为:http://java.sun.com/jstl/core_rt 即可解决。
格式:<c:if test="el表达式(${xx})"> </c:if>
没有else判断,如果需要重新在写一个。
但是需要注意:引用http://java.sun.com/jstl/core
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:if test="${2>4}">></c:if>
<c:if test="${4>2}">></c:if>
</body>
</html>
2、forEach标签:
格式:<c:foreach items="el表达式(${xx}})var 输出变量 varstatus:输出状态值比如:count 输出多少个值 current:当前输出值>${x} </c:foreach>
<%@ page import="java.util.*" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%
List<String> list=new LinkedList<>();
list.add("ok");
list.add("oop");
request.setAttribute("list",list);
Map<String,String> map=new HashMap<>();
map.put("oop","java");
map.put("func","python");
request.setAttribute("map",map);
%>
<%--格式:<c:foreach items="el表达式(${xx}})var 输出变量 varstatus:输出状态值比如:count 输出多少个值 current:当前输出值>
${x} </c:foreach>}"--%>
<c:forEach items="${list}" var="n" varStatus="status">${n} ${status.count}<br></c:forEach>
<c:forEach items="${map}" var="k" >
${k.value} ${k.key}
</c:forEach>
</body>
</html>
3:c:set c:choose c:when c:otherwise
c:set:相当于pagecontext.setAttriute()如果scope不设置默认是当前page域
c:choose c:when c:otherwise:是一对,类似if else
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<c:set var="lan" value="" scope="request"/><!--相当于pagecontext.setAttriute()如果scope不设置默认是当前page域-->
<!-- c:choose c:when c:otherwise是一对,类似if else -->-->
<c:choose>
<c:when test="${lan==2}">ok</c:when>
<c:otherwise>其他</c:otherwise>
</c:choose> </body>
</html>
4;函数库使用。
导入:taglibs-standard-impl-1.2.5.jar 相当于(相当于之前的jstl.jar,属于接口定义类)
taglibs-standard-spec-1.2.5.jar (相当于之前的standard.jar,属于实现类)
之前的jstl.jar和standar.jar已经合并到tomcat下,并更名:taglib。下载地址:http://tomcat.apache.org/download-taglibs.cgi
http://www.bubuko.com/infodetail-1077023.html 该问有详细介绍。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<html>
<head>
<title>Title</title>
</head>
<body>
${fn:toUpperCase("oop")}
${fn}
</body>
</html>
其中需要注意 fn不是标签,是函数。不要写 <c:fn,其他方法如下。

jstl 使用的更多相关文章
- JSP 标准标签库(JSTL)
JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...
- JSTL标签 参考手册
前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...
- JavaWeb_day08_EL JSTL
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day08 EL JSTL EL表达式 语法:${} ...
- java web学习总结(三十) -------------------JSTL表达式
一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...
- [Java] JSP笔记 - EL、JSTL 常用标签
一. 什么是 EL 语言 表达式语言(EL)是 JSP 2.0 引入的一种计算和输出 Java 对象的简单语言. 二.EL 语言的作用 为了使JSP写起来更加简单.表达式语言的灵感来自于 ECMASc ...
- JSTL 操作符
el表达式的取值默认顺序: pageScope requestScope sessionScope applicationScope 结构,采用.导航,也称为存取器 ${us ...
- JSP页面JSTL提供的函数标签EL表达式操作字符串的方法
首先在jsp页面导入标签<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions&quo ...
- JSTL标签库
JSP页面作为内嵌java的Html简化了Servlet在控制页面显示的语法,但JSP脚本中的表达式功能不够强大,语法也稍显繁杂,EL(Expression Language)表达式语言的出现能够大大 ...
- 重温JSP学习笔记--与日期数字格式化有关的jstl标签库
上一篇笔记写的主要是JSTL的core标签库,如果想对一些数字或者日期做一些操作或者在网页上显示指定格式的数字或日期,jstl还提供了另一个fmt标签库,这里简单介绍一下: 第一步,导入标签库: &l ...
- 重温JSP学习笔记--JSTL标签库
以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是 ...
随机推荐
- SpringBoot启动加载类ApplicationRunner
SpringBoot启动加载类ApplicationRunner 有时希望项目在启动的时候加载一些系统参数,就要用到ApplicationRunner ApplicationRunner是一个接口,我 ...
- Context 上下文
全称:context 解释:上下文,在我们的开发的程序中,通常使用context上下文. 理解:结合实际生活我们可以把它理解为是语境,比如A说:我喜欢他. 那么这个他是谁,我们不知道,如果在这句话之前 ...
- idea 提交 Push rejected: Push to origin/master was rejected
idea中,发布项目到码云上,当时按照这样的流程添加Git,然后push,提示:push to origin/master war rejected". 解决方案如下: 1.切换到自己项目所 ...
- AJAX删除事件与加载数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Flutter——设置appBar的高度
使用脚手架Scaffold可以设置AppBar,想要设置高度,在AppBar外包一层PreferredSize,设置preferredSize的属性为想要的高度即可. Scaffold( appBar ...
- C语言中使用的地址是真实的物理地址吗?
设置程序基址固定:关闭程序基地址改变. 在vs中编写代码如下: #include <stdio.h> int main(){ int a = 5; printf("a的内存地址是 ...
- describe命令
describe简写是desc 表 desc t1; desc t1 column1; desc extended t1; desc formatted t1; 数据库 desc database t ...
- [Android] Activity间切换,传递数据
前面照着android系统的裁剪图片的功能自己写了一个相似的工具.功能是大体上实现了,但留下了一个调用的问题:如何从我的程序调用这个裁剪工具,并且获得裁剪后的图片呢? 其实这个也很简单了,就是inte ...
- Python+Selenium笔记(八):操作下拉菜单
(一) Select类 Select类是selenium的一个特定的类,用来与下拉菜单和列表交互. 下拉菜单和列表是通过HTML的<select> 元素实现的.选择项是通过<sele ...
- windows 服务器远程桌面 你的凭据不工作
一.问题描述 通过windows 远程桌面连接服务器时,输入正确的用户名和密码,点击连接按钮时,提示“你的凭据不工作”,但是其他个别电脑可以通过远程桌面远程到目标服务器.问题描述如下图所示: 二. ...