一、JSP页面中的凝视
(1)HTML凝视
<!-- comment [ <%=expression %> ] -->
能在client显示的一种凝视,标记内的全部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是指server发送给client浏览器时所见到的网页内容的编码 ,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>的定义:将client所发出来的请求。从一个JSP网页转交给还有一个JSP网页。
语法:
<jsp:forwardpage={"URL" | "<%=expression%>"}/>
或
<jsp:forward page ={"URL"|"<%=expression%>"}>
<jsp:param value={"value"|"<%=name%>" } name="name" />
</jsp:forward>
假设加上<jsp:param>标签,就行向目标文件传递參数或值。
属性:page。page的值,能够是一个相对路径,即所要又一次导向的网页地址。也能够是经过表达式运算出的相对路径。
该动作属于server端跳转。