博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重温JSP学习笔记--JSTL标签库
阅读量:6504 次
发布时间:2019-06-24

本文共 2258 字,大约阅读时间需要 7 分钟。

  以前写jsp的时候对jstl标签库是有些抵触的,因为我觉得嵌入java代码的方式几乎无往不利,没有必要使用标签库,不过这次复习还是好好地学习了一下,发现这个还是很有用处的,用得好能省不少事,JSTL是对el表达式的扩展,是一种标签语言,使用起来比较方便,他不属于jsp内置的标签,使用之前需要导包,以及指定标签库,在Myeclipse中,内置了jstl的jar包,所以不需要导包这个操作.

  JSTL有四个标签库,常用的只有一个core,其他的几乎不怎么用,使用前首先要导入标签库,代码如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

  下面介绍常用标签,因为使用的多为core库的标签,所以一般称为c标签:

  • <c:out>   :输出
    1.  value:可以是字符串也可以是el表达式    比如<c:out value="hello"/>  或者<c:out value="${name}"/>
    2.  default:如果value为null,则输出default里边的值  比如<c:out value="${name}" default="zhangSan"/> 如果${name}不存在,则输出张三.
    3.  escapeXML:表示转义,默认为true

  示例:

  
输出字符串aaa  
输出域属性aaa,其中与${aaa}相同  
如果${aaa}不存在,那么输出xxx字符串  
如果${aaa}中包含特殊字符,那么转义它。这可以防止javascript攻击

 

  • <c:set> :设置(创建域的属性)
    1.   var:变量名
    2.   value:变量值
    3.   scope:指定一个域 默认为page 可选择 requset,session,application

      例如:

<% request.setAttribute("name"); %>

 

      上下这两行代码作用是相同的,都是在request域中创建一个name属性,值为"zhangSan".

  •  <c:remove>:删除域变量
    1. var:变量名
    2. scope:指定域,如果不指定,默认删除所有域
删除名为a的域属性
删除page域中名为a的域属性
  • <c:url> :输出一个url或保存url到某个域
  1. value: 指定一个路径,他会在路径前自动添加项目名
  2. var:指定一个变量名,一旦添加了这个属性,则不会输出,而是把输出内容保存到指定的变量名中
  3. scope:与var一起使用,指定保存域
输出URL:/项目名/AServlet
把生成的url保存到page域中,而不会输出
:输出URL:/项目名/AServlet?username=%xx%xx%xx%xx%xx%xx,其中张三会被URL编码
  • <c:if>:对应Java中的if语句
  1. <c:if test="${条件}">...</c:if>  : 当test为true时,执行标签体的内容
  • <c:choose>:对应java语句中的if/else

  示例:

错误的分数:${score }
A级
B级
C级
D级
E级
  • <c:forEach>:用来循环遍历数组,集合或者以计数方式循环!对应java的for循环
  1. 按计数方式方式循环:
    ${i}
    等同于for(int i = 1; i <= 10; i++) { out.println(i);}
  2. 遍历数组或集合:
    <%        String[] str={
    "哎呦","不错","这个吊"}; request.setAttribute("array", str);%>
    -->${i }

    输出结果为:

-->哎呦

-->不错
-->这个吊

  需要特别说明的是,forEach标签还有一个属性:varStatus,这个属性用来指定接收“循环状态”的变量名,例如:<forEach varStatus=”vs” …/>,这时就可以使用vs这个变量来获取循环的状态了,他有几个属性如下:

  1.  count:int类型,当前以遍历元素的个数;
  2.   index:int类型,当前元素的下标;
  3.  first:boolean类型,是否为第一个元素;
  4.  last:boolean类型,是否为最后一个元素;

在上面的例子中,我们遍历了数组的所有元素,假如我们只想取出数组的第一个元素"哎呦",应该怎么办呢?

--->${i }

这样输出结果就变成了:

--->哎哟

转载地址:http://svqyo.baihongyu.com/

你可能感兴趣的文章
使用PostgreSQL 9.6 架设mediawiki服务器
查看>>
数据库服务器硬件对性能的影响
查看>>
LVM
查看>>
php 几个比较实用的函数
查看>>
(译)OpenGL ES2.0 – Iphone开发指引
查看>>
@RestController 与 @RequestMapping
查看>>
黑马程序员.bobo.DAY.1
查看>>
Unity shader 官网文档全方位学习(二)
查看>>
pbrun
查看>>
浏览器加载和渲染网页顺序
查看>>
深入剖析Android系统试读样章
查看>>
yaf的安装
查看>>
比较java与C++的不同
查看>>
Twitter Storm入门
查看>>
Ansible自动化运维配置与应用(结合实例)
查看>>
下面简要介绍软件工程的七条原理
查看>>
Lua(三)——语句
查看>>
怎么看电脑有没有安装USB3.0驱动
查看>>
overflow清除浮动的原理
查看>>
Spring Boot 使用parent方式引用时 获取值属性方式默认@
查看>>