1.jsp代码由两类组成
jsp元素:是将由jsp引擎直接处理的部分
这一部分必须符合jsp语法,否则会导致彼岸已错误
Template data:jsp引擎不处理的部分,即<%...%>之外的部分
还有注释,它们将直接输出到浏览器
2.jsp语法有三种类型:
编译器指令(directive):如<%@ page import="java.io.*"%>
脚本语法:是<%...%>
动作语法:如
<jsp: forward>
<jsp: getProperty>
<jsp:include>
3.脚本语法包括:
HTML注释
隐藏注释
声明
表达式:
脚本段:
4.编译器指令:
包含在<%@ %>卷标里
包括:包含指令,页指令,aglib指令
两个主要的指令是:page,include
5.动作语法:
<jsp: forward> <jsp:include>
<jsp:plugin> <jsp:getProperty>
<jsp:setProperty> <jsp:useBean>
6.注释:
html注释:发送到客户端,可以嵌套jsp表达式
隐藏注释:不发送到客户端,格式:<%--[注释内容]--%>
7.jsp声明:<%!变量或方法的声明语句%>
8.表达式:<%=[想在屏幕上显示的内容]%>
9.脚本段: <%[大段的java源代码程序段]%>
10.包含指令:<%include file="相对或绝对路径"%>.
11.Page指令:
用于定义jsp的全局属性,整个页面都有效的属性
语法格式:
<%@ page
[language ="java"]//
[extends="package.class"]//扩展了什么
[import="{package.class|package.*},..."]//引入了什么
[session="true|false"]//是否支持会话
[buffer="none|8kb|sizekb"]//是否有缓冲区,有多大
[autoFlush="true|false"]//是否自动刷新,整个页面先写到缓冲区后,再自动发送到浏览器
[isThreadSafe="true|false"]//是否线程
[info="text"]//本页的信息
[errorPage="relativeURL"]//本页发生错误时将要转向的错误页的地址
[contentType="mineType|;//指定字符集
[charset=charecterset]"|"text/html;//本页是个html文档
charset=""ISO-8859-1"]
[isErrorPage="true|false"]//本页是否为错误页
%>
12.page指令详解
page指令作用于整个jsp页面,包括静态的包含文件
<%@ page %>指令不能作用于动态的包含文件,比如<jsp:include>
一个页面中的page指令可以有多个,但page的每个属性只能用一次,除了import属性
page指令可以放在jsp文件的任何地方,作用范围都是整个页面.一般放在顶部
13.<jsp:forward>
从一个jsp文件向另一个文件传递一个包含用户请求的request对象。
其后的代码,将不能执行
语法格式:
1.<jsp:forward page={"relativeURL|"<%=expression%>"/}>
2.<jsp:forward page={"relativeURL|"<%=expression%>"/}>
<jsp:param name="parameterName"
value="{parameterValue|"<%=expression%>"}/>
[<jsp:param.../>]//可以有多个[<jsp:param.../>]
</jsp:forward>
page={"relativeURL|"<%=expression%>}"//可以使一个字符串或表达式
说明将要转向的文件或url。这个文件可以是jsp,程序段,或其他可以处理request对象的文件如(asp,cgi,php)
<jsp:param name="parameterName"
value="{parameterValue|"<%=expression%>}"
/>
在转向一个文件的同时传递参数,这个文件必须是动态文件,name指定参数名,value指定参数值