标签:
注释是每一个合格程序所必备的,它相当于产品说明书。只有有了它,你的程序才能让其他程序员读懂,同样也可以唤醒自己以前的记忆。
JSP的注释分为两类,一类为可以在客户端显示的注释,即HTML注释;一类是不能在客户端显示的注释,即JSP注释。两种注释都能起到解释代码的作用,不同是能不能在客户端显示。
(1)HTML注释使用<!--作为开始,以-->作为结束,中间包含的代码即为注释部分。
(2)JSP注释使用<%--作为开始,以--%>作为结束,中间包含的代码即为注释部分。
JSP脚本元素的作用就是将Java代码插入到与JSP页面对应的Servlet中。JSP脚本元素分为三种形式,分别为JSP声明、JSP表达式、JSP Scriptlets。
(1)JSP声明,用来将方法或变量定义插入到Servlet类的主定义体中,相当于Java类中的成员变量或者方法。其语法格式为:<%! 声明语句 %>。
(2)JSP表达式,用来将数据或数据操作后的结果转换为字符串,插入到当前Servlet的输入流中,其语法格式为:<%=Java代码 %>。
(3)JSP Scriptlets,用来将Java代码插入到Servlet的_jspService方法中,其语法格式为:<% Java代码 %>。在JSP Scriptlets中可以包含多个语句,如:方法、变量、表达式等。
JSP指令元素指令主要用来提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。包括page指令、include指令以及taglib指令三种。
(1)page指令主要用来设定JSP页面的全局属性,该配置将作用于整个JSP页面,甚至包括静态包含的文件。其语法格式如下。
<%@ page 属性1="属性值1" 属性2="属性值2"……%>
(2)include指令用于在JSP文件中插入一个包含文本或者代码的文件。使用include指令包含文件,被包含的文件的执行结果将插入到include指令的位置。只有当被保包含的文件执行完成,该JSP文件才会恢复执行。
<%@ include file="Included.jsp"%>
(3)taglib指令用来声明此JSP文件使用了自定义的标签,同时引用所指定的标签库以及设置标签库的前缀。其语法格式如下。
<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix"%>
<jsp:include>动作指令用来动态的包含静态和动态的文件。如果被包含的文件为静态的文件,那么只是单纯的加到JSP页面中,不会进行任何处理;如果被包含的文件为动态的文件,那么会先进行处理,然后将处理的结果加到JSP页面中。<jsp:include>动作指令的语法格式如下。
<jsp:include page="包含文件URL地址" flush="false|true">
<jsp:include>动作指令包含两个属性,page和flush。
其中page属性用来指定被包含文件的URL地址。flush属性用来指定缓冲区满时,是否进行清空。如果设置为true,那么缓冲区满时将进行清空;如果设置为false,那么缓冲区满时不会进行清空。flush属性的默认值为false。
<jsp:forward>动作指令用来转移用户的请求,使得用户请求的页面从一个页面跳转到另一个页面。这种跳转为服务器端跳转,所以用户的地址栏不会发生任何的变化。<jsp: forward >动作指令的语法格式如下。
<jsp:forward page="跳转文件URL地址">
<jsp:include>动作指令只包含一个属性即page,page属性用来指定跳转文件的相对地址。
<jsp:param>动作指令用来传递参数,一般与<jsp:include>、<jsp:forward>作用联合使用。其语法格式如下。
<jsp:param name="参数名" value="参数值"/>
<jsp:param>动作指令包含两个属性,一个是name,用来设定传递参数的名称;一个是value,用来设定传递参数的值。
request对象用来封装客户端的请求信息,通过它才能了解到客户的需求,如客户端请求参数、请求的来源、表头、cookies等等,然后做出响应。request对象是是HttpServletRequest接口的实例。
request请求对象可以用来设置和取得request范围变量,所谓request范围,也就是说属性在一次请求范围内有效。如果页面从一个页面跳转到到另一个页面,那么该属性也就失效。这里所指的跳转是指客户端跳转,比如客户单击超链接跳转到其他页面,或者通过浏览器地址栏浏览其他网页。
如果使用服务器端跳转<jsp:forward>,该属性仍然有效。通过使用request的setAttribute()方法来设置属性,并通过request的getAttribute()方法来取得属性。
getParameter() 获得参数对应的值
response对象包含了响应客户请求的有关信息,它是HttpServletResponse类的实例。response对象可以用来添加cookies、添加标头、设置页面重定向等等。response对象包含的方法以及方法说明如下所示。
setContentType() void 设置文件格式
session对象用来表示用户的会话状况,一般用于保存用户的各种信息,知道生命周期超时或者被认为释放掉为止。session对象包含的方法以及方法说明如下所示。
getLastAccessedTime() long 获得用户最后通过session发送请求时间
application对象用来取得和设置Servlet的相关信息。application对象的生命周期是服务器启动产生直到服务器关闭为止。application对象包含的方法以及方法说明如下所示。
pageContext对象可以用来设置page范围的属性,同样也可以用来设置其他范围属性,不过需要指定范围参数。所谓page范围,也就是说设置的属性只在当前页面有效。通过使用pageContext的setAttrib ute方法来设置属性,并通过pageContext的getAttribute方法来取得属性。pageContext对象包含的方法以及方法说明如下所示。
EL全名为Expression Language,它原来是JSTL1.0为了方便存取数据所定义的语言。到了JSP2.0以后,EL正式纳入成为标准规划之一。只要是支持Servlet2.4/JSP2.0的容器(服务器的另一种说法),都可以在JSP网页中直接使用EL。下面将重点EL中的运算符、与存储有关的内置对象和与输入有关的内置对象。
(1)EL运算符
例如:${1 + 1}、${1 == 1}、${true && true}
(2)与存储有关的内置对象
包含四个,分别是applicationScope、sessionScope、requestScope以及pageScope。
(3)与输入有关的内置对象
包含两个,分别是param和paramValues。
在JSP页面中要使用到核心标签库,必须使用<%@ taglib%>指令,指定核心标签库的前缀以及uri,代码如下。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
其中prefix为“c”,表示标签的前缀为“c”,这时就必须使用<c:XXX>这种格式。uri用来指定核心标签库规范文件地址。
在JSP页面中要使用到格式化标签,必须使用<%@taglib%>指令,指定格式化标签,代码如下。
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
其中prefix为“fmt”,表示标签的前缀为“fmt”,这时就必须使用<fmt:XXX>这种格式。uri用来指定格式化标签库规范文件地址。
在JSTL1.1中新增了函数标签库,与其他标签库不同的是函数标签库主要是通过EL的Function实现的。函数标签库中的标签大部分都是用来处理字符串(fn:length可以用来取得集合对象大小)。
如果要在JSP中要使用JSTL函数标签库,必须使用<%@taglib %>指定标签的uri和前缀perfix。代码如下。
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
其中prefix为“fn”,表示标签的前缀为“fn”。uri用来指定格式化标签库规范文件地址。函数标签库的标签使用和前面介绍的几个标签库不同,其格式为${fn:标签(参数1,参数2)}
JSTL函数标签库中包含了一系列对字符串处理的函数,具体标签列表如下所示。
标签:
原文地址:http://www.cnblogs.com/tufujie/p/5037315.html