一、 JSP页面组成
JSP常用语句有以下6种类型:
1)注释: <%--服务器端注释 --%> <!--HTML注释 -->
2)声明: <%!预定义内容%>
3)表达式:<%=表达式%>
4)脚本段Scriptlet:<%代码%>
5)指令:<%@指令%>
6)动作:<jsp:动作>
二、具体了解
1.注释
注释是为了增加程序的可读性与可维护性。JSP注释分两种:一种在客户端可见的注释,称为HTML注释<!--内容<%=表达式%>-->;另一种为只存在与服务器端,客户端不可见的注释,称隐藏注释<%--内容--%>。
2.声明
声明语句声明将要在JSP页面中用到的变量和方法,变量类型包括Java的基本类型及其类对象。在"<%!"和"%>"标记之间声明变量和方法,在这两个标记之间声明的变量在整个JSP页面有效。当JSP页面转译为Java文件时,把这些变量生成为类的成员变量,它们的内存空间在服务器关闭后才被释放。当多个用户请求同一个JSP页面时,JSP引擎为每个用户启动一个线程,这些线程由JSP引擎管理,并由这些用户共享JSP页面的成员变量。应用用户共享成员变量的特点,可以制作计数器等应用。
1)声明的语法规则:
<%!声明;[声明;]...%> 如:<%!int i=6;%> <%!int a,b,c;double d;%> <!%Circle a=new Circle(6);%>
2)<%!%>与<%%>的区别; 前者定义的是整个类的类变量; 而后者定义的是这个类文件中_jspService方法中的局部变量。
3)声明的应用:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP声明应用案例</title> </head> <body> <center> <%="<font size=5 color=blue>声明的应用</font>"%> </center><hr> <%! int num=0;%> <%! String str1,str2;%> <% str1="你好!你是第 "; str2=" 位访客!";%> <% num++;%> <%! Date MyDate=new Date(); %> <div align="center"><b> <font size="4" color=blue> <%=str1 %><%=num %><%=str2%> </font><p> <font color=green> 第一位客人访问时间是:<%=MyDate.toLocaleString()%> </font></b> </div> </body> </html>
3.表达式
JSP的表达式是由变量和常量组成的算式,他将JSP生成的数值嵌入HTML页面,用来直接输出Java代码的值。
1)语法规则
在"<%="和" %>"之间插入JSP表达式。由服务器计算表达式的值,并将结果以字符串形式送到客户端浏览器显示。如果表达式的值是字符串,该表达式的值将直接显示在页面上,否则将表达式的值转换为字符串。
2)注意事项
不能用“;”号作为表达式的结束标志,但是同样的表达式在Scriptlet( a scriptlet is a piece of Java-
code embedded in the HTML-like JSP code.)中需要用分号作为结束符。
"<%="是一个完整的标记,中间不能有空格。
4.脚本段
1.JSP脚本的语法:
<%代码%>,一个脚本段中声明的变量是JSP页面的局部变量,它们在后续的JSP页面的脚本段和表达式中有效。
2.脚本元素的功能
A声明将要用到的方法和变量。
B编写JSP表达式。
C编写JSP语句。
D使用隐式对象等。
E填写任何文本和HTML标记。
5.指令
JSP是为JSP引擎设计的,通知JSP引擎如何处理JSP页面,不直接产生任何可见输出。它以"<%@开"始"%>"结束,应用举例如下:(常用的指令有:include、page、taglib)
<%@ include file="filename.jsp"%>指出被包含的文件。
<%@ page import="java.util.*"%>指出引入的java类。
<%@ page errorPage="errorPage.jsp"%>,指出将Java异常信息发到哪个页面处理。
<%@ page session="true"%>,指示是否需要为使用者管理回话期的信息。
include指令语法:<%@ include file="文件URL"%>
page指令语法:<%@ page 属性1="属性值1" 属性2="属性值2"...%>属性有:language/import/extends/session/isErrorPage/contentType...其中除了import外其他属性只能用一次。
taglib指令语法:<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix"%>
6.动作
JSP动作用来控制JSP引擎的行为,执行一些标准常用的JSP页面的动作,例如动态插入文件、重用JavaBean控件、设置JavaBean的属性、导向另一个页面、为Java插件(Plugin)生成HTML代码等。JSP动作包含以下内容。
jsp:include:在页面运行时动态插入一个文件。
jsp:useBean:使用JavaBean控件。
jsp:setProperty:设置JavaBean属性。
jsp:getProperty:把JavaBean的属性插入到输出中。
jsp:forward:引导请求者进入新的页面。
jsp:plugin:插入一个applet或Bean。
参考资料:清华大学WEB应用技术(第二版)