记住!!使用JSTL之前一定要导入相关的jar包
jstl标签库需要两个包jstl.jar和standard.jar
1.多用途核心标签
1.1用于显示的 ,标签是一个最常用的标签,用于在JSP中显示数据。
NewFile.jsp代码如下:
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
运行结果&#xff1a;
1.2用于赋值的标签 &#xff0c;标签用于为变量或Javabean中的变量属性赋值的工作。
演示代码如下&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
${oneString}
//该示例将名为"oneString"的变量赋值为"this is andy"&#xff0c;其中作用范围为page。
运行结果&#xff1a;
1.3用于删除的标签 &#xff0c;标签用于删除存在于scope中的变量。
NewFile.jsp代码如下&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
${sessionScope.sampleValue}
//该示例将存在于Session中名为"sampleValue"的变量删除。下一句EL表达式显示该变量时&#xff0c;该变量已经不存在。
1.4异常捕获的标签&#xff0c;标签允许在jsp也面中捕获异常。它包含一个var属性&#xff0c;是一个描述异常的变量。
NewFile.jsp代码如下&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
${param.sampleSingleValue[9]&#61;&#61;3}
${err}
//当"${param.sampleSingValue[9]&#61;&#61;3}"表达式有异常时&#xff0c;可以从var属性"err"得到异常的内容&#xff0c;通常判断"err"是否为null来决定错误信息的提示。
2.条件控制标签
2.1用于判断的标签。标签用于简单的条件语句。
下面看一个示例&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
It is 12
${visits}
//判断request请求提交的传入控件数组参数中&#xff0c;下标为“2”的控件内容是否为“12”&#xff0c;若为12则
//显示“It is 12”。判断结果保存在page范围中的“visits”变量中。
2.2复杂的判断、、标签
这三个标签实现复杂条件判断语句&#xff0c;类似“if&#xff0c;else if”的条件语句。
1.标签没有属性&#xff0c;可以被认为是父标签&#xff0c;、
将作为其子标签来使用。
2.标签等价于“if”语句&#xff0c;它包含一个test属性&#xff0c;该属性表示需要判断的条件。
3.标签没有属性&#xff0c;它等价于“else”语句。
下面看一个复杂条件语句的示例&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
not 12 not 13,it is 11
not 11 not 13,it is 12
not 11 not 12,it is 13
not 11、12、13
//判断request请求提交的传入控件数组参数中&#xff0c;下标为“2”控件内容是否为“11”或“12”或“13”&#xff0c;并根据判断结果显示各自的语句&#xff0c;若都不是则显示“not 11、12、13”
2.3检索一个绝对或相对 URL&#xff0c;然后将其内容暴露给页面
标签提供了所有行为标签所具有的功能&#xff0c;同时也允许包含绝对URL。
举例来说&#xff0c;使用标签可以包含一个FTP服务器中不同的网页内容。
语法格式&#xff1a;
"var&#61;""scope&#61;""varRender&#61;""context&#61;""charEncoding&#61;""/>
的属性&#xff1a;
下面来看示例&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
3.循环控制标签
3.1循环标签
基础迭代标签&#xff0c;接受多种集合类型为循环控制标签。
标签有如下属性&#xff1a;
语法格式&#xff1a;
"end&#61;""step&#61;""var&#61;""varStatus&#61;"">...
示例&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
Item
运行结果&#xff1a;
Item 1
Item 2
Item 3
Item 4
Item 53.2分隔字符的标签
标签可以根据某个分隔符指定字符串&#xff0c;相当于Java.util.StirngTokenizer类。
标签与标签有相似的属性&#xff0c;不过还有另一个属性&#xff1a;
语法格式&#xff1a;
"delims&#61;""begin&#61;""end&#61;""step&#61;""var&#61;""varStatus&#61;"">
示例&#xff1a;
<%&#64; page language&#61;"java" contentType&#61;"text/html; charset&#61;UTF-8"pageEncoding&#61;"UTF-8"%>
<%&#64; taglib uri&#61;"http://java.sun.com/jsp/jstl/core" prefix&#61;"c" %>
运行结果&#xff1a;
google
runoob
taobao