JSTL的基本使用

<body>
<%
request.setAttribute("name", "lisi123");
request.setAttribute("ttt", new ArrayList());
request.setAttribute("template", "<h1>lisi123</h1>");
%>
<!--
value:要显示的值
escapeXml:是否转译html标签 true|false
default:默认值 当value的值为null的时候 显示 默认值也可以写在标签体之间 default 和标签体之间的内容不能同时存在
注意 : 最常用的方式是 el表达式
-->
<c:out value="${ttt }" escapeXml="false">123</c:out><br>
${template }
${empty ttt }
<!--
在el表达式中 + 表示加和的意思
-->
${"1"+"2" }
<%-- ${"a"+"b" } --%>
</body>
testset.jsp:
<body>
<%!
public static class Users{
private String name;
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}
%>
<!--
scope:如果不指定 则默认放到 page作用域中 给定的作用域没有scope结尾
value:存放的值
var:存放的变量
target:要更改的那一个对象
property:要更改的那一个对象中的那一个属性
常用方式
value+var+scope
value+target+property
-->
<%
Users u = new Users();
u.setName("zhangsan");
request.setAttribute("user", u);
%>
<crazy:set scope="request" value="testset123" var="testset"></crazy:set>
<crazy:set scope="page" value="testset123456" var="testset"></crazy:set>
${requestScope.testset }
<hr>
${user.name }
<crazy:set property="name" value="lisi" target="${user }"></crazy:set>
${user.name }
<hr>
<!--
如果 不指定作用域 会将所有作用域中对应名称的值 一除掉
-->
<crazy:remove var="testset" scope="page"/>
${testset }
</body>
testif.jsp:
<body>
<c:set value="11" var="num" scope="request"></c:set>
<c:if test="${param.num>10 }" var="flag" scope="page">
<h1 style="color:red">num大于10</h1>
</c:if>
<c:if test="${!flag}">
<h1 style="color:green">num不大于10</h1>
</c:if>
<hr>
<!--
if(){
}else if(){
}else{
}
else{
}if(){
}else{
}else[
}
-->
<c:choose>
<c:when test="${param.num>10 && param.num<20 }"><h1 style="color:red">10 < num < 20</h1></c:when>
<c:when test="${param.num>20 && param.num<50 }"><h1 style="color:red">20 < num < 50</h1></c:when>
<c:when test="${param.num<10 }"><h1 style="color:red">num < 10</h1></c:when>
<c:otherwise><h1 style="color:red">num > 50</h1></c:otherwise>
</c:choose>
</body>
testforeach.jsp:
<body>
<%
List<String> list = new ArrayList<String>();
for(int i=0;i<20;i++){
list.add("list"+i);
}
request.setAttribute("list", list);
%>
<!--
forEach
items:待循环的 集合
var:循环的时候 每次的变量
step:步进或是 间隔
begin:从哪一个下标元素开始
end:在哪一个下标元素结束
-->
<c:forEach items="${list }" var="l" step="2" begin="0" end="10" varStatus="s">
<span>${l }</span>|:|<span>${s.current }|${s.index }|${s.count }|${s.first }|${s.last}</span><br>
</c:forEach>
</body>
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是 ...
随机推荐
- IIS上部署DotNet Core程序
1.安装托管捆绑包 https://docs.microsoft.com/zh-cn/aspnet/core/host-and-deploy/iis/index?view=aspnetcore-2.1 ...
- Bitdefender Total Security 2014 Free 6 Months & 12 month License Key
German Only – Bitdefender Total Security 2014 Free 6 Months Serial License Keyhttp://www.bitdefender ...
- 2018.12.25 SOW
1. Understanding Customer Requirements 11.1. Project Overview 21.2. System Requirements 21.3. Indust ...
- Linux的发行版之间的联系和区别
转载:https://blog.csdn.net/suixin788/article/details/52555558 联系 Linux的内核源代码和Linux的应用程序都可以自由获得,因此很多公司组 ...
- B树、B-树、B+树、B*树都是什么
B树.B-树.B+树.B*树都是什么 B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右 ...
- centOS上安装MySQL5.7
在centos上安装mysql,前提得有sudo的权限.没有的话先去跟管理员申请一个. STEP 1 - 安装MySQL 首先打开浏览器访问下 https://dev.mysql.com/downlo ...
- ballerina 学习十七 多线程编程
并发&&多线程开发对于日常的处理是比较重要的,ballerina 支持的模式有work fork/join async lock 基本workers 参考代码 import balle ...
- eclipse中点不出来提示
当在用eclipse或是myeclipse时,可能会遇到不能自动提示,就是当你用到点的时候,后面不会出现相关的提示信息.这时,解决方法如下 : 1.菜单window->Preferences-& ...
- HP-Mercury SiteScope安装及监控Weblogic操作
1.Mercury SiteScope简介Mercury SiteScope是一款无代理监测解决方案,可确保分布式IT基础架构——如服务器.操作系统.网络设备.网络服务.应用和应用组件的可用性和性能. ...
- FastAdmin 的 url 有一个 ref=addtabs 是怎么添加的?
FastAdmin 的 url 有一个 ref=addtabs 是怎么添加的? 在使用 FastAdmin 时你会发现 url 中有一个 ref=addtabs . 以下是 Karson 的解释 这个 ...