一、JSP页面中的注释
(1)HTML注释
<!-- comment [ <%=expression %> ] -->
能在客户端显示的一种注释,标记内的所有JSP脚本元素、指令和动作正常执行,也就是说编译器会扫描注释内的代码行。
(2)Java注释(隐式注释)
<% //comment%>
<%/*comment */ %>
(3)JSP注释(隐式注释)
<%--comment--%>
注意:用隐藏注释标记的字符会在JSP编译时被忽略掉,标记内的所有JSP脚本元素、指令和动作都将不起作用。 JSP编译器不会对注释符之间的语句进行编译的,它不会显示在客户的浏览器中。
二、JSP脚本元素
<%! %> (声明)
在此Scriptlet中可以定义全局变量、方法和类
<%= %> (表达式)
主要功能是输出一个变量或者一个具体内容
<% %>(脚本程序)
在此Scriptlet中可以定义局部变量,编写语句等
1.声明<%! %>
在JSP文件中,一次可以声明一个或多个变量和方法,它们之间用分号隔开。在声明时使用JAVA语言时,必须符合JAVA语言规范。
注意:
变量必须先声明,然后才能使用;
声明必须以分号结尾;
通过page指令导入的包中已声明的变量或方法,可以在主JSP文件中直接使用它们;
JSP页面成员变量是被所有用户共享的变量,任何用户对JSP页面成员变量操作的结果,都会影响到其他用户。
2. 表达式<%= %>
表达式标签能包含符合JAVA语言规范的任何有效表达式;
表达式用于求值,然后其值转化为字符串,而且插入在JSP文件中显示该表达式的地方;
不能使用分号作为表达式的结尾,然而,在脚本段<%……%>标签中,表达式要求以分号作为结尾。
3. 脚本程序<% %>
在脚本段能声明多个变量和方法;
能使用任何有效的表达式;
可以包含任何有效的程序片段,只要合乎java本身的标准语法即可;
<% %>不能嵌套使用;
在<% %>之间不能插入HTML。
三、JSP指令元素(directives)
指令( directives )主要用来提供整个JSP页面网页相关的信息,并且用来设定JSP网页的相关属性。例如网页的编码方式、语法、信息等。
起始符号:
<%@
终止符号:
%>
内文部分:一些指令和一连串的属性设定
<%@ directive{attribute="value"} %>
四、设置文件编码
contentType的charset是指服务器发送给客户端浏览器时所见到的网页内容的编码 ,pageEncoding是指jsp文件自身存储时所用的编码。
在JSP标准的语法中,如果pageEncoding属性存在,那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,如果charset也不存在,JSP页面的字符编码方式就采用默认的ISO-8859-1 。
五、JSP动作元素
include动作:<jsp:include>元素允许包含动态和静态文件,这两种文件产生的结果是不尽相同的。如果包含的是静态文件,那么只是将静态文件的内容加到JSP网页中;如果包含进来的为动态文件,那么这个被包含的文件也会被JSP容器编译执行。
语法:
<jsp:include page="{urlSpec |<%=expression%>}" flush="true | false"/>
或
<jsp:include page="{urlSpec |<%=expression%>}" flush="true | false"/>
<jsp:paramvalue={"value" |"<%=name%>" } name="name"/>*
</jsp:include>
<jsp:include>有两个属性:page和flush。page:可以代表一个相对路径,即所包含进来的文件位置或是经过表达式运算出的相对路径;flush:接受的值为boolean,假设为true,缓冲区满时,将会被清空。默认值为false。
<jsp:param>用来传递一个或多个参数给JSP网页。
include指令标记是先将JSP页面与所要嵌入的页面合并成一个新的JSP页面,然后再由JSP引擎将新页面转化为Java文件处理并运行。
include动作标记在把JSP页面转译成java文件时,并不合并两个页面;而是在java文件的字节码文件被加载执行时,才去处理include动作标记引入的文件。
forward动作
<jsp:forward>的定义:将客户端所发出来的请求,从一个JSP网页转交给另一个JSP网页。
语法:
<jsp:forwardpage={"URL" | "<%=expression%>"}/>
或
<jsp:forward page ={"URL"|"<%=expression%>"}>
<jsp:param value={"value"|"<%=name%>" } name="name" />
</jsp:forward>
如果加上<jsp:param>标签,就能够向目标文件传递参数或值。
属性:page。page的值,可以是一个相对路径,即所要重新导向的网页地址,也可以是经过表达式运算出的相对路径。
该动作属于服务器端跳转。