分类: Java
2006-03-02 15:05:07
1.模板元素
模板元素指JSP的静态HTML或者XML内容,他对JSP的显示是非常必要的,但是对于JSP的编程人员来说,就不怎么关心这些部分内容,他主要有网页的美工来完成
2.注释
JSP中的注释有多种:
HTML/XML注释:在客户端显示的一种注释。
JSP语法:
例如:
隐藏注释:写在JSP程序中,但不发给客户。
JSP语法:<%-- comment --%>
scriptlets中的注释:郁友scriptlets包含的是JAVA代码所以Java中的注释规则也可以使用
3. 脚本元素
脚本元素主要包括:
声明就是在JSP程序中声明合法的变量和方法:
<%! String getDate()
{
return new Date().toString();
}
int count = 10;
%>
直观的讲表达式就是位于<%=和%>之间的代码:
<%=getDate()%>
Scriptlets位于<%和%>之间,它们是合法的JAVA代码:
<%
int i;
String color1 = "99ccff";
String color2 = "88cc33";
for(i =1 ;i<=count;i++)
{
String color = "";
if((i%2)==0) color = color1;
else color = color2;
out.println(""); ");
out.println("---------------------- ");
out.println("
}
%>
4.指令元素
JSP中有三种指令元素,它们是:
5.动作元素
与指令元素不用的是,动作元素在请求处理阶段起作用。JSP规范定义了一系列的标准动作,它们用jsp作为前缀,这些动作有:
指令用于从JSP发送一个信息的容器上,他用来设置全局变量,声明类、要实现的方法和输出内容的类型等。它们并不向客户产生任何输出,所有的指令都在JSP整个文件范围内有效。指令元素为翻译阶段提供了全局信息。
指令元素使用一下格式:<%@ directiovename arrtibute="value",attribute="value"%>。
1.页面指令:用来定义JSP文件中的全局属性。
格式如下:<%@ page attribute="value"... %>
详细语法:
<% @ page [language="java"] [import="{package.calss | package.*},..."] [contentType="TYPE;charset=CHARSET"] [session="True|False"] [buffer="none|8K|sizeKB"] [autoFlush="True|False"] [isThreadSafe="True|False"] [info="text"] [errorpage="relativeURL"] [isErrorPage="True|False"] [extentds="package.class"] [isELIgnored="Ture|False"] [pageEncoding="perinfo"] %>例程:page.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"
session="true" buffer="24kb" autoFlush="true" info="a test directive jsp page"
errorPage="error.jsp" isErrorPage="false" contentType="text/html;charset=gb2312"%>
<%@ page isELIgnored="false"%>
使用 page 指令的测试页面
<%=new java.util.Date().toLocaleString()%>
使用表达式语言:
\${4>3}:${4>3}
2.include 指令
inlcude指令通知容器将当前的JSP页面中的内嵌的,在指定位置的资源内容包含。被包含的文件内容可以被JSP解析,这种解析发生在编译期间。
include指令格式如下:<%@ include file="filename"%>
3.taglib指令
这个指令允许页面使用者自定义标签。首先用户要开发标签库,为标签库写.tld配置文件,然后在JSP页面里使用自定义标签。
在JSP规范里,标签库得到了不断的加强,最新的JSP2.0规范中增加了JSTL标签库。JSP的标签库在页面里定义如下:<%@ taglib uri ="taglibURI" prefix="tagPrefix" %>
4.表达式语言
表达式语言是JSP2.0新增加的技术,通过表达式语言,可以简化JSP开发,使代码整洁。表达式使用"${}"来表示
JSP脚本元素是JSP代码中使用最频繁的元素,特别是Scriptlets。
1.声明(Declaration)
在JSP里,声明是一段JAVA代码,他用来定义在产生的类文件中的类的属性和方法。声明后的变量和方法可以在JSP的任何地方使用。
声明的语法格式为:<%! variable declaration
moenthod declaration(paramType param,...)%>
例程:declare.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ page import="java.io.UnsupportedEncodingException" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%!
String trans(String chi)
{
String result = null;
byte temp[];
try
{
temp=chi.getBytes("gb2312");
result = new String(temp);
}
catch(UnsupportedEncodingException e)
{
System.out.println(e.toString());
}
return result;
}
%>
<%!
int count = 10;
%>
<%
String source = "你好!世界";
for(int i =0;i
{
out.println(trans(source));
out.println("
");
source = trans(source);
}
%>
2.表达式(Expression)
表达式在JSP请求处理阶段计算它的值,所得的结果转换成字符串并于模板数据结合在一起。语法:<%= some java expression %>
3.Scriplet
Scriplet 是一段可以在处理请求时间执行的java代码,Scriplet 包括在他可以产生输出,并经输出发送到客户的输入流里,也可以是一下诶流程控制语句。当然他中间还可以包含一些合法的Java注释。语法为 <% java code statements %>。
与指令元素不同,动作元素在请求处理阶段起作用。JSP动作元素是使用XML语法写成的,它采用以下两种格式中的一种:
或者
...
标准动作有:
另外,还有:
介绍常用的JSP动作元素
1.
jsp:param 操作被用来以“名-值”对的形式为其他标签提供附加信息。他和jsp:include、jsp:forward和jsp:plugin一起使用,他的使用方式为:
2.
jsp:include 操作允许在请求时间内在现成的JSP页面里面包含静态或者动态资源。被包含的对象只有对Jspwriter对象的访问权,并且他不能设置头或者Cookie。如果页面输出是缓冲的,那么缓冲区的刷新要优先于包含的刷新。此指令在运行上效率比<%@ page include %>指令的效率低,但可以动态增加内容。通过以下格式来使用include指令:
....
例如:
3.
jsp:forward 操作是允许将请求转发到另外一个JSP、Servlet或者静态资源文件中。请求被转向到的资源鼻息位于用JSP发送请求相同的上下文环境之中。每当遇到次操作时,就停止执行当前的JSP,转而执行被转发的资源,按以下的方式使用次操作:
或者
....
例如:
<% String target="/login.jsp" %>
或者
jsp:forward 操作典型的使用就是登录,入进行权限验证的页面。
4.
此操作和useBean一起协作,用来设置Bean的简单属性和索引属性。
Bean的自省(introspection)用来发现出现的是那些属性和它们的名字是什么,这些属性是简单的还是索引的,它们是什么类型的等。用以下方法来使用setProperty:
其中,progertyDatail可以是下面的几个中的一个:
property="*"
property="propertyName" param="parameterName"
property="propertyName"
property="propertyName" value="propertyValue"
例如:
或者:
(1)name="beanName":这个是必须的属性。他的值为Bean的名字,在这之前要用 jsp:userBean引入名称。
(2)propertyDetails
可以通过下面四种方法指定属性的信息