29.JSTL

为了完全在JSP中消除Java代码,学习JAVA的标签库:

Java标签库:

1:自定义标签库.

2:标准标签库(JSTL).(SUN预先提供好的,我们使用的)
以后学习MVC框架(Struts/Struts2/SpringMVC)的时候,都会学习一些标签.

准备:

1:准备JSTL相关的jar(Tomcat根/webapps/example/WEB-INF/lib).

jstl.jar 
standard.jar
el-api.jar
jsp-api.jar

2:使用JSPL的JSP页面中,引入标签库:

比如引入核心JSTL:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

JSTL主要提供了5大类标签库:

1:核心标签库:为日常任务提供通用支持,如显示和设置变量,测试条件以及其他操作(如导入和重定向web页面等)

2:国际化(I18N)标签库,支持多种语言的引用程序

3:SQL标签库:对访问和修改数据库提供标准化支持.

4:XML标签库:对XML文件处理和操作系统提供支持,包括XML节点解析,迭代,基于XML数据的条件评估,以及可扩展式语言转换(Extensible Style language Transformations ,XSLT)的执行.

5:函数标签库:通过在EL表达式中调用函数标签库中的函数来实现特定的操作,例如:

${fn:contains(string.substring)}.其功能是判断string字符串是否包含substring字符串.

JSTL标签库的使用方法:

29.JSTL_第1张图片
图片1.png

JSTL核心常用的标签:

1):逻辑判断(条件选择)标签(if-elseif-else):
单条件判断:if标签:

语法1:没有本体内容(body):把表达式的结果赋值给变量,并存储在指定的作用域中.


语法2:有本体内容,若表达式为true,则显示之间的文本内容.

    本体内容

多条件判断:choose标签:

    鼠标
    有线鼠标
    无线鼠标
    游戏鼠标
    鼠标

2):循环迭代标签(foreach):
语法1:迭代一集合对象

本体内容


//示例代码
/*
需求1:迭代出集合中所有元素.
底层:会把每一个跌大帝的元素,存放到pageContext作用域中.
pageContext.setAttribute("e",每一个迭代的元素值);
*/
<%
    pageContext.setAttribute("args",Arrays.asList("A","B","C","D"));
%>

    
${vs.count}--${e}
语法2:迭代指定的次数

本体内容


/*
    需求2:输出11到20
*/

    ${num}

时间格式化标签

<%@ page language="java" contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<%
    pageContext.setAttribute("data",new java.util.Date());
%>
${data}

你可能感兴趣的:(29.JSTL)