为了完全在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标签库的使用方法:
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}