Day10_24——JSTL

JSTL

1.jstl的概述

  • apache公司提供的,依赖EL
  • 使用jstl需要导入jstl1.2.jar
  • jstl标签库——四大库

core:核心标签库(重点)
fmt:格式化标签库
sql:数据库标签库(过时)
xml:xml标签库(过时)
2.导入标签库

  • jar包
  • 在jsp页面中:<%@taglib prefix=”前缀” uri=”路径”%>
    3.core标签库常用标签(c标签)
    (1)out和set
  • - - - - 输出aaa字符串常量

value:可以是字符串常量,也可以是EL表达式
default:当要输出的内容为null时,会输出default里面指定的值
escapeXml:默认值为true,表示转义
<%
request.setAttribute("code", ";");
%>


* :设置(创建域的属性)

var:变量名
value:变量值,可以时EL表达式
scope:域,默认式page,可以选择其他域



(2)remove

  • :删除域变量

var:变量名
scope:如果不给出scope,表示删除所有域中的该名称变量,如果指定了域,那么就只删除该域中的变量

(3)Url

  • value:指定一个路径,它会在路径前面自动添加项目名。
  • ,它会输出/JSTL/index.jsp
  • 子标签:,用来给url后面添加参数,例如:




结果为:/JSTL/index.jsp?username=%ED%2C%3F%6B%AC%3F

  • var:指定变量名,一旦添加了这个属性,那么url标签就不会再输出到页面,而是把生成的url保存到域中。
  • scope:它与var一起使用,用来保存url到指定域中。
    (4)if:对应java中的if语句
  • ....,当test为真时,执行标签体内容
    (5)choose:它对应java中的if/else if/ ... /else
  • 例如:

 ... 
 ... 
 ... 
...
 ... 

(6)forEach
它用来循环遍历数组、集合,还可以用来计数方式来循环

  • 计数方式:
    Java:
for(int i = 1; i <= 10; i++){
System.out.println(i);
}

等同于:


${i}

属性介绍:

  • var:循环变量
  • begin:设置循环变量从几开始
  • end:设置循环变量到几结束
  • step:设置步长,等同于Java中的i++或i+2.默认为1
    输出集合和数组
    数组:
<% String[] strs = {one,two}%>


${str}

等同于java中的增强for

for(String str : strs){
......
}

属性介绍:

  • items:指定要循环谁,它可以是一个数组或一个集合
  • var:把数组或集合中的每个元素赋值给var指定的变量。
    // 输出遍历数组或者集合的下标
    {vs.first}
    // 返回布尔类型,是否是第一个元素
    {vs.current}
    // 当前对象,相当于输出

    4.fmt标签库——它是格式化库
  • value:指定一个Data类型的变量
  • pattern:用来指定输出的模板,例如:yyyy-MM-dd HH:mm:ss
  • 保留小数点后两位,它会四舍五入,不足两位用0补位
  • 保留小数点后两位,它会四舍五入,不补位

你可能感兴趣的:(Day10_24——JSTL)