JSP学习(2)
一、编译器指令(directive)(JSP_0100_Directive工程)
<%@Directive 属性=“属性值”%>
常见的Directive:
1:page(PageInclude1.1.jsp/PageInclude1.2.jsp)
2:include(PageInclude1.1.jsp/PageInclude1.2.jsp)
3:taglib
@page:
指明与JSP Container 的沟通方式
基本格式:
<%@page language=“script language”| 默认是Java 语言
extends=“className”|
import=“importList”| 和Java的import差不多 默认引入java.lang.*
javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*
buffer=“none|kb size”| --none:不缓冲,默认8k
session=“true|false”| --是否可以使用session,默认true
autoFlush=“true|false” --缓冲器是否自动清除,默认true
isThreadSafe=“true|false”| --默认false(永远不要设成true)
info=“infoText”| --任何字符
errorPage=“errorPageUrl”| 设置处理异常事件的JSP文件
isErrorPage=“true|false”|设置此页是否为出错页,如果被设置为true,你就能
使用exception对象
contentType=“contentTyepInfo”|
pageEncoding=“gb2312”
%>
@include:
将指定的JSP程序或者HTML文件包含进来
格式:
<%@include file=“fileURL%>
JSP Engine会在JSP程序的转换时期先把file属性设定的文件包含进来,然后开始执行转换及编译的工作。(原封不动的把文件的代码copy到该位置,然后进行转换和编译,只生成一个java和class)
限制:
不能向fileURL中传递参数
不能abc.jsp?user=aaa
@taglib:
标签库
格式:
<%@taglib file=“fileURL%>
二:脚本语法(scripting)(JSP_0200_Scripting工程)
1:html注释:<!--comments-->客户端可以看到(Comments.jsp)
2:隐藏注释:<%--comments--%>浏览器不解析,给程序员看的(Comments.jsp)
3:声明:<%! 声明; [声明; ] ... %>编译成的java文件为全局变量(Expression.jsp)
<%!
int i;
public void setName(){… …}
%>
说明:在此声明的变量、方法都会被保留成唯一的一份,直到JSP程序停止执行
4:表达式:<%=表达式%>(Expression.jsp)
<%=“hello world”%>
<%=i+1%>
<%=request.getParameter(“name”)%>
=后面必须是字符串变量或者可以被转换成字符串的表达式
5:脚本段:<%符合java语法的程序代码%>(Scripting.jsp)
<%
for (int i=0;i<10,i++)
{
… …
}
%>
可以放入任何的Java程序代码