JSTL-1
JSTL的配置和使用:
* 配置:将jstl.jar和standard.jar拷贝到WEB-INF/lib下
* 使用:要采用一些指令:采用taglib指令
JSTL标准标签库(JSP Standard Tag Library, JSTL)
JSTL是Apache的东西,依赖于EL,EL是输出表达式
JSTL有四个类库
*core:核心库,这个是重点
*fmt:用户格式化,日期,数字
*sql:过时了
*xml:过时了
在jsp页面中:<%@taglib prefix="前缀" uri="路径"%>
JSTL 的核心标签库标签共13个,使用这些标签能够完成JSP页面的基本功能,
从功能上可以分为4类:
1.表达式控制标签:out 标签, set标签, remove标签, catch标签
2.流程控制标签:if标签, choose标签, when标签, otherwise标签
3.循环标签:forEach标签, forTokens标签
4.URL操作标签:import标签, URL标签, redirect标签, param标签
表达式标签:
<c:out>:标签主要是用来输出数据对象(字符串,表达式)的内容和结果
在Java中脚本输出是常使用的方式为<%out.println("字符串")%>或者<%=表达式%>
用out的标签是<c:out value="字符串"> 或者 <c:out value="EL表达式">
Hello(JSTL中设置缺省值(默认值defalut)并且把缺省值放在属性里面了):<c:out value="${hello123 }" default="没有值"></c:out><br>
Hello(JSTL中设置缺省值(默认值defalut)把缺省值放在标签里面):<c:out value="${hello123 }" >没有值</c:out><br>
<c:set>设置(创建域的属性) var:变量名, value:值 Scope:域,默认值为page, 可选值page, request, session, application
*<c:set var="a" value="hello"/> 创建名为a, 值为hello的域属性, 范围page
*<c:set var="a" value="hello" scope="session"/>: 范围为session
<c:set>的4中格式:
1. <c:set value="" var="" >
2.<c:set var="">value </c:set>
3.<c:set value="" target="JavaBean对象" property="属性名"/>
4.<c:set value="" target="JavaBean对象" property="属性名"> value</c:ste>
注意:使用target时一定要指向实例化后的JavaBean对象,也就是要跟<jsp:userBean>配置使用
使用的目标对象是${person}
<c:set target="${person}" property="name">孤傲苍狼</c:set>
<c:remove>:标签
*<remove>:删除域变量
var :变量名
scope:如果不给出scope,表示删除所有域中的该名称的变量,如果指定了域,那么只删除该域的变量
<c:catch>catch 异常
<c:catch [var="变量名"] > nested actions</c:catch>
这里的catch就相当于try catch
在jsp中捕获异常
<%
try {
Integer.parseInt("sfaeaf"):
} catch (Exception e) {
e.printStackTrace();
out.println(e.getMessage());//打印异常信息
}
%>
var 是变量名,是把异常信息放到var变量名里,然后输出来
<c:catch var="msf">
<%
Integer.parseInt(“sjf”);
%>
</c:catch>
${msf}