授之以鱼,不如授之以渔。
JSTL是标签库,EL是表达式,两者一般搭配使用,使JSP中不出现Java代码段。二者是<% %>的另一种表达形式。
常见的JSTL标签很多,单纯列举既冗余又无味。所以小编不打算一一列举其用法。而是通过举例,带大家了解如何利用帮助文档,从而懂得如何使用“所有”标签。
EL:
如果只是使用EL表达式不需要引入任何jar包,只要jsp/servlet容器实现了J2EE1.4/Servlet2.4、JSP2.0规范就可以,其基本格式:${***} : ***为request中设置的返回值。
如:
request.setAttribute("hello", "Hello World");
JSP:
hello(jsp脚本):<%=request.getAttribute("hello") %><br>
hello(el表达式):${hello }<br>
二者结果一直,都为输出:Hello World 。
第一行为原jsp标签引入的java代码。第二行为el表达式。明显,el更简单,更方便。
JSTL:
JSTL标签的配置和使用:
配置:
将jstl.jar和standard.jar拷贝到WEB-INF/lib下
使用:
采用taglib指令引入标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> ——核心库
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> ——函数库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> ——格式化标签库
具体使用:根据帮助文档,我们举一例子,通过例子,大家着重感受文档的使用。我们以格式化标签库的格式化日期标签为例:因为格式化是界面的一个常用功能,它可以规范我们的数据展示形式。
首先在目录找到该标签的位置。格式化是fromat,日期是Date,所以在这里:
这也是今天我们重点要了解的:
首先[]里的内容为可选项,即在需要时选择。
下划线为默认选择,即在未设置的情况下,下划线的选择为显示格式。
var="varName",是将转换格式后的日期以此名保存,其它方法的var也是此含义。
这三者算是所以标签的共性。其它就需要一些你的英语功底了。
使用:
首先request设置当前日期:
request.setAttribute("today", new Date());
<h1>测试格式化日期标签</h1>
today(default):<fmt:formatDate value="${today}"/><br>//默认格式
today(type="date"):<fmt:formatDate value="${today}" type="date"/><br>//显示类型:仅date
today(type="time"):<fmt:formatDate value="${today}" type="time"/><br>//显示类型:仅time
today(type="both"):<fmt:formatDate value="${today}" type="both"/><br>//显示类型:date 和 time
today(dateStyle="short"):<fmt:formatDate value="${today}" dateStyle="short"/><br>//日期格式:short
today(dateStyle="medium"):<fmt:formatDate value="${today}" dateStyle="medium"/><br>
today(dateStyle="long"):<fmt:formatDate value="${today}" dateStyle="long"/><br>
today(dateStyle="full"):<fmt:formatDate value="${today}" dateStyle="full"/><br>
today(pattern="yyyy/MM/dd HH:mm:ss):<fmt:formatDate value="${today}"
pattern="yyyy/MM/dd HH:mm:ss" var="currentDate"/><br>//pattern即模式,设置时间格式
最终效果:
所以,之后想用何种标签,直接根据帮助文档就可正确使用。但想熟练,还要多用,多查,包括英语......