你的位置:首页 > Java教程

[Java教程]JavaWeb学习总结第三篇


JavaWeb学习(三)—走进JSP页面元素

 

JSP:Java Server Pages,译为Java服务器页面。其脚本采用Java语言,继承了Java所有优点。JSP元素可以分为指令元素、脚本元素和动作元素三种类型。指令元素是针对JSP引擎设计的,它控制JSP引擎如何处理代码;脚本元素是嵌入到JSP页面的Java代码;而动作元素则负责连接所用到的组件。下面,我简单总结一下常用的指令元素和属性。

一:JSP指令元素

JSP指令元素主要用来和JSP引擎沟通,提供整个JSP网页相关的信息,并且用来设定JSP页面的相关属性。简单的说JSP主要是用来实现一些预定义的功能,好比C++中宏定义define一样。指令元素的相关形式如下:

JSP指令元素中主要包含了以下三种类型:Page、include和taglib指令。

1.1 page指令

page指令用于定义JSP中的全局属性,描述了和页面相关的指示。在一个JSP页面中page指令可以出现多次但是每个属性只可以出现一次,重复的属性设置将覆盖之前的设置。page有13个属性:

language="java" :表示脚本的语法符合java语法规范

extends="className":指定编译JSP页面时所用的类

import="所需要的类":导入所需要的类,与java相同,如果需要导入多个类,可以用,将各个类分开;

session="true|false":指定是否使用HTTP Session。默认为true,即表示使用;

buffer="none|8kb|sizekb":指定用户JSP页面对于浏览器的输出,默认值为none,不使用缓冲区;

autoFlush="true|false":用于buffer溢出时,如果为true,输出正常,如果为false,溢出时会报错的;

isThreadSafe="true|false":设置JSP页面是否能多线程使用,默认值为true;

info="text":文本在执行时逐字加入JSP中,使用Servlet.getServletInof方法取出;

errorPage="相对路径":设置异常事件的处理JSP文件;

isErrorPage="true|false":设置此页面是否为错误处理页面,默认值为false;

contentType=''text/html''; charset="utf-8":mimeType:指定返回浏览器的内容类型,有以下属性值:

text/plain(纯文本页面),text/html(纯文本的HTML),text/

charset是设置页面的编码格式:常用的有utf-8,gb2312,gbk等等

pageEncoding=''utf-8'' :指定JSP的页面的字符编码

isELIgnored=''true|false'':表示是否在JSP网页中执行或忽略EL表达式

二:JSP脚本元素

脚本元素包含了表达式、脚本和声明三大要素。

2.1声明:JSP声明用于定义一个或多个变量或方法以及类,声明不会有任何输出,它一般和脚本结合起来使用。

2.2表达式:JSP表达式用来把Java的数据直接输出在网页上。所有表达式,无论复杂还是简单,都会被计算成一个单独的结果或值,JSP页面依赖JSPWriter对象输出JSP表达式,该对象可以接受任何Java表达式结果,并将其转换成String类型,然后输出到响应缓冲区。

2.3脚本:如果需要使用Java实现更加复杂的操作和控制,那么声明就不能满足要求了,此时我们运用到脚本来实现。

三:JSP动作元素

JSP动作利用

jsp:include  在页面被请求时引入一个文件

Jsp:useBean  寻找或者实例化一个JavaBean

Jsp:setProperty  设置JavaBean的属性

Jsp:getProperty   输出某个JavaBean的属性

Jsp:forward    把请求转到一个新的页面

Jsp:plugin    根据浏览器类型为java插件生成OBJECT或EMBED标记。

JSP中动作元素include和forward的区别:include指令用于在JSP页面中包含另一个文件的内容,包含过程是静态的;forward是导向,也就是跳转,执行forward之后就会跳转到另一个文件。

四:JSP注释

JSP注释一般分为两种:一种是JSP本身的用于描述JSP程序代码,它会被JSP容器忽略,而不会出现在网页源代码中,这种注释被称为JSP注释;另一种是HTML,用于描述JSP页面执行后的结果,这种注视会被客户端用户看到。

HTML注释的语法形式如下:

JSP注释的语法形式如下:

由于在JSP页面中脚本代码使用Java语言,所以也可以用Java的注释机制,即 // 或者 /*  */ 。