HTML 注éÂ
å¨å®¢æ·ç«¯æ¾ç¤ºä¸ä¸ªæ³¨é.Â
JSPÂ è¯æ³
<!-- comment [ <%= expression %> ] -->Â
ä¾å 1
<!-- This file displays the user login screen -->Â
å¨å®¢æ·ç«¯çHTMLæºä»£ç ä¸äº§çåä¸é¢ä¸æ ·çæ°æ®ï¼Â
<!-- This file displays the user login screen -->Â
ä¾å 2
<!-- This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->Â
å¨å®¢æ·ç«¯çHTMLæºä»£ç 䏿¾ç¤ºä¸º:Â
<!-- This page was loaded on January 1, 2000 -->Â
æè¿°
è¿ç§æ³¨éåHTMLä¸å¾åï¼ä¹å°±æ¯å®å¯ä»¥å¨"æ¥çæºä»£ç "ä¸çå°.Â
å¯ä¸æäºä¸åçå°±æ¯ï¼ä½ å¯ä»¥å¨è¿ä¸ªæ³¨éä¸ç¨è¡¨è¾¾å¼ï¼ä¾å2æç¤º).è¿ä¸ªè¡¨è¾¾ç¤ºæ¯ä¸å®çï¼ç±é¡µé¢ä¸åèä¸åï¼ä½ è½å¤ä½¿ç¨åç§è¡¨è¾¾å¼ï¼åªè¦æ¯åæ³çå°±è¡ãæ´å¤ç请ç表达å¼
éèæ³¨éÂ
åå¨JSPç¨åºä¸ï¼ä½ä¸æ¯åç»å®¢æ·ãÂ
JSPÂ è¯æ³
<%-- comment --%>Â
ä¾åï¼
<%@ page language="java" %> <html> <head><title>A Comment Test</title></head> <body> <h2>A Test of Comments</h2> <%-- This comment will not be visible in the page source --%> </body> </html>Â
æè¿°
ç¨éèæ³¨éæ è®°çå符ä¼å¨JSPç¼è¯æ¶è¢«å¿½ç¥æãè¿ä¸ªæ³¨éå¨ä½ 叿éèææ³¨éä½ çJSPç¨åºæ¶æ¯å¾æç¨çãJSPç¼è¯å¨ä¸æ¯ä¼å¯¹<%--and--%>ä¹é´çè¯å¥è¿è¡ç¼è¯çï¼å®ä¸ä¼æ¾ç¤ºå¨å®¢æ·çæµè§å¨ä¸ï¼ä¹ä¸ä¼å¨æºä»£ç ä¸çå°Â
声æÂ
å¨JSPç¨åºä¸å£°æåæ³çåéåæ¹æ³Â
JSPÂ è¯æ³
<%! declaration; [ declaration; ]+ ... %>Â
ä¾å
<%! int i = 0; %>Â
<%! int a, b, c; %>Â
<%! Circle a = new Circle(2.0); %>Â
æè¿°
声æä½ å°è¦å¨JSPç¨åºä¸ç¨å°çåéåæ¹æ³ãä½ ä¹å¿ é¡»è¿æ ·åï¼ä¸ç¶ä¼åºé.Â
ä½ å¯ä»¥ä¸æ¬¡æ§å£°æå¤ä¸ªåéåæ¹æ³ï¼åªè¦ä»¥";"ç»å°¾å°±è¡ï¼å½ç¶è¿äºå£°æå¨Javaä¸è¦æ¯åæ³çãÂ
å½ä½ å£°ææ¹æ³æåéæ¶ï¼è¯·æ³¨æä»¥ä¸çä¸äºè§å:Â
声æå¿ 须以";"ç»å°¾(Scriptletæåæ ·çè§åï¼ä½æ¯Â 表达å¼å°±ä¸åäº).Â
ä½ å¯ä»¥ç´æ¥ä½¿ç¨å¨<% @ page %>ä¸è¢«å å«è¿æ¥çå·²ç»å£°æçåéåæ¹æ³ï¼ä¸éè¦å¯¹å®ä»¬éæ°è¿è¡å£°æ.Â
ä¸ä¸ªå£°æä» å¨ä¸ä¸ªé¡µé¢ä¸ææãå¦æä½ æ³æ¯ä¸ªé¡µé¢é½ç¨å°ä¸äºå£°æï¼æå¥½æå®ä»¬åæä¸ä¸ªåç¬çæä»¶ï¼ç¶åç¨<%@ include %>æ<jsp:include >å ç´ å å«è¿æ¥ãÂ
表达å¼Â
å å«ä¸ä¸ªç¬¦åJSPè¯æ³ç表达å¼Â
JSPÂ è¯æ³
<%= expression %>Â
ä¾å
<font color="blue"><%= map.size() %></font>Â
<b><%=Â numguess.getHint()Â %></b>.Â
æè¿°
表达å¼å ç´ è¡¨ç¤ºçæ¯ä¸ä¸ªå¨èæ¬è¯è¨ä¸è¢«å®ä¹ç表达å¼ï¼å¨è¿è¡å被èªå¨è½¬å为å符串ï¼ç¶åæå ¥å°è¿ä¸ªè¡¨è¾¾ç¤ºå¨JSPæä»¶çä½ç½®æ¾ç¤ºãå 为è¿ä¸ªè¡¨è¾¾å¼çå¼å·²ç»è¢«è½¬å为åç¬¦ä¸²ï¼æä»¥ä½ è½å¨ä¸è¡ææ¬ä¸æå ¥è¿ä¸ªè¡¨è¾¾å¼ï¼å½¢å¼åASPå®å ¨ä¸æ ·).Â
å½ä½ å¨JSPä¸ä½¿ç¨è¡¨è¾¾å¼æ¶è¯·è®°ä½ä»¥ä¸å ç¹ï¼Â
ä½ ä¸è½ç¨ä¸ä¸ªåå·ï¼"ï¼"ï¼æ¥ä½ä¸ºè¡¨è¾¾å¼çç»æç¬¦.使¯åæ ·ç表达å¼ç¨å¨scriptletä¸å°±éè¦ä»¥åå·æ¥ç»å°¾äºï¼æ¥çScriptletÂ
è¿ä¸ªè¡¨è¾¾å¼å ç´ è½å¤å æ¬ä»»ä½å¨Java Language Specification䏿æç表达å¼.Â
ææ¶å表达å¼ä¹è½åä¸ºå ¶å®JSPå ç´ ç屿§å¼.ä¸ä¸ªè¡¨è¾¾å¼è½å¤åå¾å¾å¤æï¼å®å¯è½ç±ä¸ä¸ªæå¤ä¸ªè¡¨è¾¾å¼ç»æï¼è¿äºè¡¨è¾¾å¼çé¡ºåºæ¯ä»å·¦å°å³ãÂ
[/b]Scriptlet [/b]
å å«ä¸ä¸ªææçç¨åºæ®µ.Â
JSPÂ è¯æ³
<% code fragment %>Â
ä¾å
<%Â
String name = null;Â
if (request.getParameter("name") == null) {Â
%>Â
<%@ include file="error.html" %>Â
<%Â
} else {Â
foo.setName(request.getParameter("name"));Â
if (foo.getName().equalsIgnoreCase("integra"))Â
name = "acura";Â
if (name.equalsIgnoreCase( "acura" )) {Â
%>Â
æè¿°
ä¸ä¸ªscriptletè½å¤å å«å¤ä¸ªjspè¯å¥ï¼æ¹æ³ï¼åéï¼è¡¨è¾¾å¼Â
å 为scriptlet,æä»¬ä¾¿è½å以ä¸çäº:Â
声æå°è¦ç¨å°çåéææ¹æ³ï¼åè 声æ).Â
ç¼åJSP表达å¼ï¼åè 表达å¼).Â
使ç¨ä»»ä½éå«ç对象åä»»ä½ç¨<jsp:useBean>声æè¿ç对象Â
ç¼åJSPè¯å¥Â (å¦æä½ å¨ä½¿ç¨Javaè¯è¨ï¼è¿äºè¯å¥å¿ é¡»éµä»Java Language Specification,).Â
任使æ¬ï¼HTMLæ è®°ï¼JSPå ç´ å¿ é¡»å¨scriptletä¹å¤Â
å½JSPæ¶å°å®¢æ·çè¯·æ±æ¶ï¼scriptletå°±ä¼è¢«æ§è¡ï¼å¦æscriptletææ¾ç¤ºçå 容ï¼è¿äºæ¾ç¤ºçå 容就被åå¨out对象ä¸ãÂ
Include æä»¤
å¨JSPä¸å å«ä¸ä¸ªéæçæä»¶ï¼åæ¶è§£æè¿ä¸ªæä»¶ä¸çJSPè¯å¥.Â
JSPÂ è¯æ³
<%@ include file="relativeURL" %>Â
ä¾å
include.jsp:Â
<html> <head><title>An Include Test</title></head> <body bgcolor="white"> <font color="blue"> The current date and time are <%@ include file="date.jsp" %> </font> </body> </html>Â
date.jsp:
 <%@ page import="java.util.*" %> <%= (new java.util.Date() ).toLocaleString() %>Â
Displays in the page:Â
The current date and time areÂ
Aug 30, 1999 2:38:40Â
æè¿°
<%@include %>æä»¤å°ä¼å¨JSPç¼è¯æ¶æå ¥ä¸ä¸ªå å«ææ¬æä»£ç çæä»¶ï¼å½ä½ 使ç¨<%@ include %>æå½æ¶ï¼è¿ä¸ªå å«çè¿ç¨å°±å½æ¯éæçãéæçå å«å°±æ¯æè¿ä¸ªè¢«å å«çæä»¶å°ä¼è¢«æå ¥å°JSPæä»¶ä¸å»ï¼è¿ä¸ªå å«çæä»¶å¯ä»¥æ¯JSPæä»¶ï¼HTMLæä»¶ï¼ææ¬æä»¶ã妿å å«çæ¯JSPæä»¶ï¼è¿ä¸ªå å«çJSPçæä»¶ä¸ä»£ç å°ä¼è¢«æ§è¡ãÂ
å¦æä½ ä» ä» åªæ¯ç¨include æ¥å å«ä¸ä¸ªéææä»¶ãé£ä¹è¿ä¸ªå å«çæä»¶ææ§è¡çç»æå°ä¼æå ¥å°JSPæä»¶ä¸æ¾<% @ include %>çå°æ¹ã䏿¦å å«æä»¶è¢«æ§è¡ï¼é£ä¹ä¸»JSPæä»¶çè¿ç¨å°ä¼è¢«æ¢å¤ï¼ç»§ç»æ§è¡ä¸ä¸è¡.Â
è¿ä¸ªè¢«å 嫿件å¯ä»¥æ¯htmlæä»¶ï¼jspæä»¶ï¼ææ¬æä»¶ï¼æè åªæ¯ä¸æ®µJava代ç ï¼ä½æ¯ä½ 徿³¨æå¨è¿ä¸ªå 嫿件ä¸ä¸è½ä½¿ç¨<html>,</html>,<body>,</body>æ è®°ï¼å 为è¿å°ä¼å½±åå¨åJSPæä»¶ä¸åæ ·çæ è®°Â ï¼è¿æ ·åææ¶ä¼å¯¼è´é误.Â
æä¸äº<%@ include %>æå½çè¡ä¸ºæ¯ä»¥ç¹æ®çJSPç¼è¯æ¡ä»¶ä¸ºåºç¡ï¼æ¯å¦ï¼Â
è¿ä¸ªè¢«å å«çæä»¶å¿ 须对ææå®¢æ·é½æå¼æ¾ä¸å¿ é¡»fææï¼æè 宿å®å ¨éå¶Â
妿è¿ä¸ªå å«æä»¶è¢«æ¹åï¼å 嫿¤æä»¶çJSPæä»¶å°è¢«éæ°ç¼è¯Â
屿§:
file="relativeURL"
è¿ä¸ªå 嫿件çè·¯å¾åä¸è¬æ¥è¯´æ¯æç¸å¯¹è·¯å¾ï¼ä¸éè¦ä»ä¹ç«¯å£ï¼åè®®ï¼åååï¼å¦ä¸:Â
"error.jsp""templates/onlinestore.html""/beans/calendar.jsp"Â
妿è¿ä¸ªè·¯å¾ä»¥"/"å¼å¤´ï¼é£ä¹è¿ä¸ªè·¯å¾ä¸»è¦æ¯åç §JSPåºç¨çä¸ä¸å ³ç³»è·¯å¾ï¼å¦æè·¯å¾æ¯ä»¥æä»¶åæç®å½åå¼å¤´ï¼é£ä¹è¿ä¸ªè·¯å¾å°±æ¯æ£å¨ä½¿ç¨çJSPæä»¶çå½åè·¯å¾.
Page æä»¤
å®ä¹JSPæä»¶ä¸çå ¨å±å±æ§.Â
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="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]Â
[ isErrorPage="true | false" ]Â
%>Â
ä¾å
<%@ page import="java.util.*, java.lang.*" %>Â
<%@ page buffer="5kb" autoFlush="false" %>Â
<%@ page errorPage="error.jsp" %>Â
æè¿°
<%@ page %>æä»¤ä½ç¨äºæ´ä¸ªJSP页é¢ï¼åæ ·å æ¬éæçå 嫿件ã使¯<% @ page %>æä»¤ä¸è½ä½ç¨äºå¨æçå å«æä»¶ï¼æ¯å¦Â <jsp:include>Â
ä½ å¯ä»¥å¨ä¸ä¸ªé¡µé¢ä¸ç¨ä¸å¤ä¸ª<% @ page %>æä»¤ï¼ä½æ¯å ¶ä¸ç屿§åªè½ç¨ä¸æ¬¡ï¼ä¸è¿ä¹æä¸ªä¾å¤ï¼é£å°±æ¯import屿§ãå 为import屿§åJavaä¸çimportè¯å¥å·®ä¸å¤(åç §Java Language)ï¼æä»¥ä½ å°±è½å¤ç¨æ¤å±æ§å 次äº.Â
æ è®ºä½ æ<% @ page %>æä»¤æ¾å¨JSPçæä»¶çåªä¸ªå°æ¹ï¼å®çä½ç¨èå´é½æ¯æ´ä¸ªJSP页é¢ãä¸è¿ï¼ä¸ºäºJSPç¨åºçå¯è¯»æ§ï¼ä»¥å好çç¼ç¨ä¹ æ¯ï¼æå¥½è¿æ¯æå®æ¾å¨JSPæä»¶çé¡¶é¨.Â
屿§
language="java"
声æèæ¬è¯è¨çç§ç±»ï¼ææ¶åªè½ç¨"java"Â
extends="package.class"
æ æJSPç¼è¯æ¶éè¦å å ¥çJava Classçå ¨åï¼ä½æ¯å¾æ éç使ç¨å®ï¼å®ä¼éå¶JSPçç¼è¯è½å.Â
import="{package.class | package.* }, ..."
éè¦å¯¼å ¥çJavaå çå表ï¼è¿äºå å°±ä½ç¨äºç¨åºæ®µï¼è¡¨è¾¾å¼ï¼ä»¥å声æãÂ
ä¸é¢çå å¨JSPç¼è¯æ¶å·²ç»å¯¼å ¥äºï¼æä»¥ä½ å°±ä¸éè¦åææäº:Â
java.lang.*Â
javax.servlet.*Â
javax.servlet.jsp.*Â
javax.servlet.http.*Â
session="true | false"
设å®å®¢æ·æ¯å¦éè¦HTTP Session.ï¼å¦è¿ASPç人ï¼åºè¯¥å¯¹å®ä¸éç)妿å®ä¸ºtrue,é£ä¹Sessionæ¯æç¨çãÂ
妿宿false,é£ä¹ä½ å°±ä¸è½ä½¿ç¨session对象ï¼ä»¥åå®ä¹äºscope=sessionç<jsp:useBean>å ç´ ãè¿æ ·ç使ç¨ä¼å¯¼è´é误.Â
缺ç弿¯true.Â
buffer="none | 8kb | sizekb"
bufferç大å°è¢«out对象ç¨äºå¤çæ§è¡åçJSPå¯¹å®¢æ·æµè§å¨çè¾åºã缺ç弿¯8kbÂ
autoFlush="true | false"
è®¾ç½®å¦æbuffer溢åºï¼æ¯å¦éè¦å¼ºå¶è¾åºï¼å¦æå ¶å¼è¢«å®ä¹ä¸ºtrue(缺çå¼)ï¼è¾åºæ£å¸¸ï¼å¦æå®è¢«è®¾ç½®ä¸ºfalse,妿è¿ä¸ªbuffer溢åºï¼å°±ä¼å¯¼è´ä¸ä¸ªæå¤é误çåç.å¦æä½ æbuffer设置为none,é£ä¹ä½ å°±ä¸è½æautoFlush设置为false.Â
isThreadSafe="true | false"
设置Jspæä»¶æ¯å¦è½å¤çº¿ç¨ä½¿ç¨ã缺ç弿¯true,ä¹å°±æ¯è¯´ï¼JSPè½å¤åæ¶å¤çå¤ä¸ªç¨æ·ç请æ±ï¼å¦æè®¾ç½®ä¸ºfalseï¼ä¸ä¸ªjspåªè½ä¸æ¬¡å¤çä¸ä¸ªè¯·æ±Â
info="text"
ä¸ä¸ªææ¬å¨æ§è¡JSPå°ä¼è¢«éåå å ¥JSPä¸ï¼ä½ è½å¤ä½¿ç¨Servlet.getServletInfoæ¹æ³ååãÂ
errorPage="relativeURL"
设置å¤çå¼å¸¸äºä»¶çJSPæä»¶ãÂ
isErrorPage="true | false"
设置æ¤é¡µæ¯å¦ä¸ºåºé页ï¼å¦æè¢«è®¾ç½®ä¸ºtrue,ä½ å°±è½ä½¿ç¨exception对象.Â
contentType="mimeType [ ;charset=characterSet ]" | "text/html;charset=ISO-8859-1"
设置MIMEç±»å ã缺çMIMEÂ ç±»åæ¯: text/html, 缺çå符é为 ISO-8859-1.
<jsp:forward>
éå®åä¸ä¸ªHTMLæä»¶ï¼JSPæä»¶ï¼æè æ¯ä¸ä¸ªç¨åºæ®µ.Â
JSPÂ è¯æ³
<jsp:forward page={"relativeURL" | "<%= expression %>"} />Â
orÂ
<jsp:forward page={"relativeURL" | "<%= expression %>"} >Â
<jsp:param name="parameterName"Â
value="{parameterValue | <%= expression %>}" />+Â
</jsp:forward>Â
ä¾å
<jsp:forward page="/servlet/login" />Â
<jsp:forward page="/servlet/login">Â
<jsp:param name="username" value="jsmith" />Â
</jsp:forward>Â
æè¿°
<jsp:forward>æ ç¾ä»ä¸ä¸ªJSPæä»¶åå¦ä¸ä¸ªæä»¶ä¼ éä¸ä¸ªå å«ç¨æ·è¯·æ±çrequest对象.<jsp:forward>æ ç¾ä»¥ä¸ç代ç ï¼å°ä¸è½æ§è¡.Â
ä½ è½å¤åç®æ æä»¶ä¼ éåæ°åå¼ï¼å¨è¿ä¸ªä¾åä¸æä»¬ä¼ éçåæ°å为username,å¼ä¸ºscott,å¦æä½ ä½¿ç¨äº<jsp:param>æ ç¾çè¯ï¼ç®æ æä»¶å¿ é¡»æ¯ä¸ä¸ªå¨æçæä»¶ï¼è½å¤å¤çåæ°.Â
å¦æä½ ä½¿ç¨äºéç¼å²è¾åºçè¯ï¼é£ä¹ä½¿ç¨<jsp:forward>æ¶å°±è¦å°å¿ã妿å¨ä½ 使ç¨<jsp:forward>ä¹åï¼jspæä»¶å·²ç»æäºæ°æ®ï¼é£ä¹æä»¶æ§è¡å°±ä¼åºé.Â
屿§
page="{relativeURL | <%= expression %>}"
è¿éæ¯ä¸ä¸ªè¡¨è¾¾å¼ææ¯ä¸ä¸ªå符串ç¨äºè¯´æä½ å°è¦å®åçæä»¶æURL.è¿ä¸ªæä»¶å¯ä»¥æ¯JSP,ç¨åºæ®µï¼æè å ¶å®è½å¤å¤çrequest对象çæä»¶(å¦asp,cgi,php).Â
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+
åä¸ä¸ªå¨ææä»¶åéä¸ä¸ªæå¤ä¸ªåæ°ï¼è¿ä¸ªæä»¶ä¸å®æ¯å¨ææä»¶.Â
å¦æä½ æ³ä¼ éå¤ä¸ªåæ°ï¼ä½ å¯ä»¥å¨ä¸ä¸ªJSPæä»¶ä¸ä½¿ç¨å¤ä¸ª<jsp:param>ãnameæå®åæ°åï¼valueæå®åæ°å¼.
<jsp:getProperty>
è·åBeanç屿§å¼ï¼ç¨äºæ¾ç¤ºå¨é¡µé¢ä¸Â
JSPÂ è¯æ³
<jsp:getProperty name="beanInstanceName" property="propertyName" />Â
ä¾å
<jsp:useBean id="calendar" scope="page" class="employee.Calendar" />Â
<h2>Â
Calendar of <jsp:getProperty name="calendar" property="username" />Â
</h2>Â
æè¿°
è¿ä¸ª<jsp:getProperty>å ç´ å°è·å¾Beanç屿§å¼ï¼å¹¶å¯ä»¥å°å ¶ä½¿ç¨ææ¾ç¤ºå¨JSP页é¢ä¸.å¨ä½ 使ç¨<jsp:getProperty>ä¹åï¼ä½ å¿ é¡»ç¨<jsp:useBean>å建å®.Â
<jsp:getProperty>å ç´ æä¸äºéå¶:Â
ä½ ä¸è½ä½¿ç¨<jsp:getProperty>æ¥æ£ç´¢ä¸ä¸ªå·²ç»è¢«ç´¢å¼äºç屿§Â
ä½ è½å¤åJavaBeansç»ä»¶ä¸èµ·ä½¿ç¨<jsp:getProperty>,使¯ä¸è½ä¸Enterprise Beanä¸èµ·ä½¿ç¨ãÂ
屿§
name="beanInstanceName"
beançåå,ç±<jsp:useBean>æå®Â
property="propertyName"
ææå®çBeanç屿§åãÂ
æå·§:
å¨sunçJSPåè䏿å°ï¼å¦æä½ 使ç¨<jsp:getProperty>æ¥æ£ç´¢ç弿¯ç©ºå¼ï¼é£ä¹NullPointerExceptionå°ä¼åºç°ï¼åæ¶å¦æä½¿ç¨ç¨åºæ®µæè¡¨è¾¾å¼æ¥æ£ç´¢å ¶å¼ï¼é£ä¹å¨æµè§å¨ä¸åºç°çæ¯nullï¼ç©º).
<jsp:include>
å å«ä¸ä¸ªéææå¨ææä»¶.Â
JSPÂ è¯æ³
<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />Â
orÂ
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" >Â
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+Â
</jsp:include>Â
Examples
<jsp:include page="scripts/login.jsp" />Â
<jsp:include page="copyright.html" />Â
<jsp:include page="/index.html" />Â
<jsp:include page="scripts/login.jsp">Â
<jsp:param name="username" value="jsmith" />Â
</jsp:include>Â
æè¿°
<jsp:include>å ç´ å è®¸ä½ å å«å¨ææä»¶åéæï¼è¿ä¸¤ç§å 嫿件çç»ææ¯ä¸åçã妿æä»¶ä» æ¯éææä»¶ï¼é£ä¹è¿ç§å å«ä» ä» æ¯æå 嫿件çå 容å å°jspæä»¶ä¸å»ï¼è妿è¿ä¸ªæä»¶å¨æçï¼é£ä¹è¿ä¸ªè¢«å 嫿件ä¹ä¼è¢«Jspç¼è¯å¨æ§è¡(è¿ä¸åä¸aspç¸ä¼¼)Â
ä½ ä¸è½ä»æä»¶åä¸å¤æä¸ä¸ªæä»¶æ¯å¨æçè¿æ¯éæçï¼æ¯å¦aspcn.asp 就æå¯è½åªæ¯å å«ä¸äºä¿¡æ¯èå·²ï¼èä¸éè¦æ§è¡ã<jsp:include>è½å¤åæ¶å¤çè¿ä¸¤ç§æä»¶ï¼å æ¤ä½ å°±ä¸éè¦å 嫿¶è¿è¦å¤ææ¤æä»¶æ¯å¨æçè¿æ¯éæç.Â
妿è¿ä¸ªå 嫿件æ¯å¨æçï¼é£ä¹ä½ è¿å¯ä»¥ç¨<jsp:param>è¿ä¼ éåæ°åååæ°å¼ãÂ
屿§
page="{relativeURL | <%= expression %>}"
åæ°ä¸ºä¸ç¸å¯¹è·¯å¾ï¼æè æ¯ä»£è¡¨ç¸å¯¹è·¯å¾ç表达å¼.Â
flush="true"
è¿éä½ å¿ é¡»ä½¿ç¨flush="true",ä½ ä¸è½ä½¿ç¨falseå¼.缺çå¼ä¸ºfalseÂ
<jsp:param name="parameterName" value="{parameterValue | <%= expression %> }" />+
<jsp:param>åå¥è½è®©ä½ ä¼ éä¸ä¸ªæå¤ä¸ªåæ°ç»å¨ææä»¶Â
ä½ è½å¨ä¸ä¸ªé¡µé¢ä¸ä½¿ç¨å¤ä¸ª<jsp:param>æ¥ä¼ éå¤ä¸ªåæ°ï¼
<jsp:plugin>
æ§è¡ä¸ä¸ªappletæBean,æå¯è½çè¯è¿è¦ä¸è½½ä¸ä¸ªJavaæä»¶ç¨äºæ§è¡å®.Â
JSPÂ è¯æ³
<jsp:pluginÂ
type="bean | applet"Â
code="classFileName"Â
codebase="classFileDirectoryName"Â
[Â name="instanceName"Â ]Â
[ archive="URIToArchive, ..." ]Â
[ align="bottom | top | middle | left | right" ]Â
[Â height="displayPixels"Â ]Â
[Â width="displayPixels"Â ]Â
[Â hspace="leftRightPixels"Â ]Â
[Â vspace="topBottomPixels"Â ]Â
[ jreversion="JREVersionNumber | 1.1" ]Â
[Â nspluginurl="URLToPlugin"Â ]Â
[Â iepluginurl="URLToPlugin"Â ]Â >Â
[Â <jsp:params>Â
[ <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> ]+Â
</jsp:params>Â ]Â
[ <jsp:fallback> text message for user </jsp:fallback> ]Â
</jsp:plugin>Â
ä¾å
<jsp:plugin type=applet code="Molecule.class" codebase="/html">Â
<jsp:params>Â
<jsp:param name="molecule" value="molecules/benzene.mol" />Â
</jsp:params>Â
<jsp:fallback>Â
<p>Unable to load applet</p>Â
</jsp:fallback>Â
</jsp:plugin>Â
æè¿°
<jsp:plugin>å ç´ ç¨äºå¨æµè§å¨ä¸ææ¾ææ¾ç¤ºä¸ä¸ªå¯¹è±¡ï¼å ¸åçå°±æ¯appletåBean),èè¿ç§æ¾ç¤ºéè¦å¨æµè§å¨çjavaæä»¶ãÂ
å½Jspæä»¶è¢«ç¼è¯ï¼é徿µè§å¨æ¶ï¼<jsp:plugin>å ç´ å°ä¼æ ¹æ®æµè§å¨ççæ¬æ¿æ¢æ<object>æè <embed>å ç´ ãæ³¨æï¼<object>ç¨äºHTML 4.0 ï¼<embed>ç¨äºHTML 3.2.Â
ä¸è¬æ¥è¯´ï¼<jsp:plugin>å ç´ ä¼æå®å¯¹è±¡æ¯Appletè¿æ¯Bean,åæ ·ä¹ä¼æå®classçååï¼è¿æä½ç½®ï¼å¦å¤è¿ä¼æå®å°ä»åªéä¸è½½è¿ä¸ªJavaæä»¶ãå ·ä½å¦ä¸:Â
屿§
type="bean | applet"
.å°è¢«æ§è¡çæä»¶å¯¹è±¡çç±»åï¼ä½ å¿ é¡»å¾æå®è¿ä¸ªæ¯Beanè¿æ¯applet,å 为è¿ä¸ªå±æ§æ²¡æç¼ºçå¼.Â
code="classFileName"
å°ä¼è¢«Javaæä»¶æ§è¡çJava Classçååï¼å¿ 须以.classç»å°¾ãè¿ä¸ªæä»¶å¿ é¡»åå¨äºcodebase屿§æå®çç®å½ä¸.Â
codebase="classFileDirectoryName"
å°ä¼è¢«æ§è¡çJava Classæä»¶çç®å½ï¼æè æ¯è·¯å¾)ï¼å¦æä½ 没ææä¾æ¤å±æ§ï¼é£ä¹ä½¿ç¨<jsp:plugin>çjspæä»¶çç®å½å°ä¼è¢«ä½¿ç¨.Â
name="instanceName"
è¿ä¸ªBeanæappletå®ä¾çååï¼å®å°ä¼å¨Jspå ¶å®çå°æ¹è°ç¨.Â
archive="URIToArchive, ..."
ä¸äºç±éå·åå¼çè·¯å¾åï¼è¿äºè·¯å¾åç¨äºé¢è£ ä¸äºå°è¦ä½¿ç¨çclass,è¿ä¼æé«appletçæ§è½.Â
align="bottom | top | middle | left | right"
å¾å½¢ï¼å¯¹è±¡ï¼Appletçä½ç½®,æä»¥ä¸å¼:Â
bottomÂ
topÂ
middleÂ
leftÂ
rightÂ
height="displayPixels"Â width="displayPixels"
AppletæBeanå°è¦æ¾ç¤ºçé¿å®½çå¼ï¼æ¤å¼ä¸ºæ°åï¼åä½ä¸ºè±¡ç´ .Â
hspace="leftRightPixels"Â vspace="topBottomPixels"
AppletæBeanæ¾ç¤ºæ¶å¨å±å¹å·¦å³ï¼ä¸ä¸æéçä¸ç空é´ï¼åä½ä¸ºè±¡ç´ .Â
jreversion="JREVersionNumber | 1.1"Â
AppletæBeanè¿è¡æéçJava Runtime Environment (JRE) ççæ¬. 缺ç弿¯Â 1.1.Â
nspluginurl="URLToPlugin"Â
Netscape Navigatorç¨æ·è½å¤ä½¿ç¨çJREçä¸è½½å°åï¼æ¤å¼ä¸ºä¸ä¸ªæ åçURLï¼å¦http://www.aspcn.com/jspÂ
iepluginurl="URLToPlugin"
IEç¨æ·è½å¤ä½¿ç¨çJREçä¸è½½å°åï¼æ¤å¼ä¸ºä¸ä¸ªæ åçURLï¼å¦http://www.aspcn.com/jspÂ
<jsp:params> [ <jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" /> ]+ </jsp:params>
ä½ éè¦åappletæBeanä¼ éçåæ°æåæ°å¼ãÂ
<jsp:fallback> text message for user </jsp:fallback>
䏿®µæåç¨äºJava æä»¶ä¸è½å¯å¨æ¶æ¾ç¤ºç»ç¨æ·çï¼å¦ææä»¶è½å¤å¯å¨èappletæBeanä¸è½ï¼é£ä¹æµè§å¨ä¼æä¸ä¸ªåºéä¿¡æ¯å¼¹åº.
<jsp:setProperty>
设置Beanä¸ç屿§å¼.Â
JSPè¯æ³
<jsp:setPropertyÂ
name="beanInstanceName"Â
{Â
property=Â "*"Â |Â
property="propertyName"Â [Â param="parameterName"Â ]Â |Â
property="propertyName" value="{string | <%= expression %>}"Â
}Â
/>Â
ä¾å
<jsp:setProperty name="mybean" property="*" />Â
<jsp:setProperty name="mybean" property="username" />Â
<jsp:setProperty name="mybean" property="username" value="Steve" />Â
æè¿°
<jsp:setProperty>å ç´ ä½¿ç¨Beanç»å®çsetteræ¹æ³ï¼å¨Beanä¸è®¾ç½®ä¸ä¸ªæå¤ä¸ªå±æ§å¼ãä½ å¨ä½¿ç¨è¿ä¸ªå ç´ ä¹åå¿ é¡»å¾ä½¿ç¨<jsp:useBean>å£°ææ¤Bean.å 为ï¼<jsp:useBean>å<jsp:setProperty>æ¯èç³»å¨ä¸èµ·çï¼åæ¶è¿ä»ä»¬ä½¿ç¨çBeanå®ä¾çååä¹åºå½ç¸å¹é ï¼å°±æ¯è¯´ï¼å¨<jsp:setProperty>ä¸çnameçå¼åºå½å<jsp:useBean>ä¸idçå¼ç¸å)Â
ä½ è½ä½¿ç¨å¤ç§æ¹æ³å©ç¨<jsp:setProperty>æ¥è®¾å®å±æ§å¼Â :Â
éè¿ç¨æ·è¾å ¥çææå¼(被åä¸ºåæ°å¨åä¸request对象ä¸)æ¥å¹é Beanä¸ç屿§Â
éè¿ç¨æ·è¾å ¥çæå®ç弿¥å¹é Bean䏿å®ç屿§Â
å¨è¿è¡æ¶ä½¿ç¨ä¸ä¸ªè¡¨è¾¾å¼æ¥å¹é Beanç屿§Â
æ¯ä¸ç§è®¾å®å±æ§å¼çæ¹æ³é½æå ¶ç¹å®çè¯æ³ï¼ä¸é¢æä»¬ä¼æ¥è®²è§£Â
屿§åå ¶ç¨æ³
name="beanInstanceName"
表示已ç»å¨<jsp:useBean>ä¸å建çBeanå®ä¾çåå.Â
property="*"
å¨åç¨æ·å¨Jspè¾å ¥çææå¼ï¼ç¨äºå¹é Beanä¸ç屿§ãå¨Beanä¸ç屿§çååå¿ é¡»årequest对象ä¸çåæ°åä¸è´.Â
ä»å®¢æ·ä¼ å°æå¨ä¸çåæ°å¼ä¸è¬é½æ¯å符类å ï¼è¿äºå符串为äºè½å¤å¨Beanä¸å¹é å°±å¿ é¡»è½¬æ¢æå ¶å®çç±»åï¼ä¸é¢ç表ä¸ååºäºBean屿§çç±»å以åä»ä»¬çè½¬æ¢æ¹æ³.
æå符串转åä¸ºå ¶å®ç±»åçæ¹æ³. Property 类åÂ
æ¹æ³Â
boolean or BooleanÂ
java.lang.Boolean.valueOf(String)Â
byte or ByteÂ
java.lang.Byte.valueOf(String)Â
char or CharacterÂ
java.lang.Character.valueOf(String)Â
double or DoubleÂ
java.lang.Double.valueOf(String)Â
integer or IntegerÂ
java.lang.Integer.valueOf(String)Â
float or FloatÂ
java.lang.Float.valueOf(String)Â
long or LongÂ
java.lang.Long.valueOf(String)Â
妿request对象çåæ°å¼ä¸æç©ºå¼ï¼é£ä¹å¯¹åºçBean屿§å°ä¸ä¼è®¾å®ä»»ä½å¼ãåæ ·çï¼å¦æBean䏿ä¸ä¸ªå±æ§æ²¡æä¸ä¹å¯¹åºçRequeståæ°å¼ï¼é£ä¹è¿ä¸ªå±æ§åæ ·ä¹ä¸ä¼è®¾å®.Â
property="propertyName"Â [Â param="parameterName"Â ]
使ç¨requestä¸çä¸ä¸ªåæ°å¼æ¥æå®Beanä¸çä¸ä¸ªå±æ§å¼ãå¨è¿ä¸ªè¯æ³ä¸ï¼propertyæå®Beanç屿§åï¼paramæå®requestä¸çåæ°å.Â
妿bean屿§årequeståæ°çååä¸åï¼é£ä¹ä½ å°±å¿ é¡»å¾æå®propertyåparam ï¼å¦æä»ä»¬ååï¼é£ä¹ä½ å°±åªéè¦ææpropertyå°±è¡äº.Â
妿¥åæ°å¼ä¸ºç©ºï¼ææªåå§å),对åºçBean屿§ä¸è¢«è®¾å®.Â
property="propertyName" value="{string | <%= expression %>}"
ä½¿ç¨æå®ç弿¥è®¾å®Bean屿§ãè¿ä¸ªå¼å¯ä»¥æ¯å符串ï¼ä¹å¯ä»¥æ¯è¡¨è¾¾å¼ã妿è¿ä¸ªå符串ï¼é£ä¹å®å°±ä¼è¢«è½¬æ¢æBean屿§çç±»åï¼æ¥çä¸é¢ç表).妿宿¯ä¸ä¸ªè¡¨è¾¾å¼ï¼é£ä¹å®ç±»åå°±å¿ é¡»åå®å°è¦è®¾å®ç屿§å¼çç±»åä¸è´ãÂ
妿忰å¼ä¸ºç©ºï¼é£ä¹å¯¹åºç屿§å¼ä¹ä¸ä¼è¢«è®¾å®ãå¦å¤ï¼ä½ ä¸è½å¨ä¸ä¸ª<jsp:setProperty>ä¸åæ¶ä½¿ç¨paramåvalueÂ
æå·§
å¦æä½ ä½¿ç¨äºproperty="*",é£ä¹Beanç屿§æ²¡æå¿ è¦æHtml表åä¸çé¡ºåºæåºÂ
<jsp:useBean>
å建ä¸ä¸ªBeanå®ä¾å¹¶æå®å®çåååä½ç¨èå´.Â
JSPÂ è¯æ³
<jsp:useBeanÂ
id="beanInstanceName"Â
scope="page | request | session | application"Â
{Â
class="package.class"Â |Â
type="package.class"Â |Â
class="package.class"Â type="package.class"Â |Â
beanName="{package.class | <%= expression %>}" type="package.class"Â
}Â
{Â
/>Â |Â
> other elements </jsp:useBean>Â
}Â
ä¾å
<jsp:useBean id="cart" scope="session" class="session.Carts" />Â
<jsp:setProperty name="cart" property="*" />Â
<jsp:useBean id="checking" scope="session" class="bank.Checking" >Â
<jsp:setProperty name="checking" property="balance" value="0.0" />Â
</jsp:useBean>Â
æè¿°
<jsp:useBean>ç¨äºå®ä½æç¤ºä¾ä¸ä¸ªJavaBeansç»ä»¶ã<jsp:useBean>é¦å ä¼è¯å¾å®ä½ä¸ä¸ªBeanå®ä¾ï¼å¦æè¿ä¸ªBeanä¸åå¨ï¼é£ä¹<jsp:useBean>å°±ä¼ä»ä¸ä¸ªclassææ¨¡çä¸è¿è¡ç¤ºä¾ãÂ
为äºå®ä½æç¤ºä¾ä¸ä¸ªBeanï¼<jsp:useBean>ä¼è¿è¡ä»¥ä¸æ¥èï¼é¡ºåºå¦ä¸:Â
éè¿ç»å®åååèå´è¯å¾å®ä½ä¸ä¸ªBean.Â
对è¿ä¸ªBean对象å¼ç¨åéä»¥ä½ æå®çååå½å.Â
妿åç°äºè¿ä¸ªBean,å°ä¼å¨è¿ä¸ªåéä¸å¨åè¿ä¸ªå¼ç¨ãå¦æä½ ä¹æå®äºç±»åï¼é£ä¹è¿ä¸ªBeanä¹è®¾ç½®ä¸ºç¸åºçç±»å.Â
å¦ææ²¡æåç°è¿ä¸ªBean,å°ä¼ä»ä½ æå®çclassä¸ç¤ºä¾ï¼å¹¶å°æ¤å¼ç¨å¨åå°ä¸ä¸ªæ°çåéä¸å»ã妿è¿ä¸ªclassçååä»£è¡¨çæ¯ä¸ä¸ªæ¨¡çï¼é£ä¹è¿ä¸ªBean被java.beans.Beans.instantiate示ä¾.Â
妿<jsp:useBean>å·²ç»ç¤ºä¾ï¼ä¸æ¯å®ä½ï¼äºBean,åæ¶<jsp:useBean>å</jsp:useBean>䏿å ç´ ï¼é£ä¹å°ä¼æ§è¡å ¶ä¸ç代ç .Â
<jsp:useBean>å ç´ ç主ä½é常å 嫿<jsp:setProperty>å ç´ ï¼ç¨äºè®¾ç½®Beanç屿§å¼ãæ£å¦ä¸é¢ç¬¬äºæ¥æè¯´çï¼<jsp:useBean>ç主ä½ä» ä» åªæå¨<jsp:useBean>示ä¾Beanæ¶æä¼è¢«æ§è¡ï¼å¦æè¿ä¸ªBeanå·²ç»åå¨ï¼<jsp:useBean>è½å¤å®ä½å®ï¼é£ä¹ä¸»ä½ä¸çå 容å°ä¸ä¼èµ·ä½ç¨Â
屿§ä»¥åç¨æ³
id="beanInstanceName"
å¨ä½ æå®ä¹çèå´ä¸ç¡®è®¤Beançåéï¼ä½ è½å¨åé¢çç¨åºä¸ä½¿ç¨æ¤åé忥å辨ä¸åçBeanÂ
è¿ä¸ªåéå对大å°åææï¼å¿ 须符åä½ æä½¿ç¨çèæ¬è¯è¨çè§å®ï¼å¨Java Programming Languageä¸ï¼è¿ä¸ªè§å®å¨Java Language è§èå·²ç»åæã妿è¿ä¸ªBeanå·²ç»å¨å«ç<jsp:useBean>ä¸å建ï¼é£ä¹è¿ä¸ªidçå¼å¿ é¡»ä¸åæ¥çé£ä¸ªidå¼ä¸è´.Â
scope="page | request | session | application"
Beanåå¨çèå´ä»¥åidåéåçææèå´ã缺ç弿¯page,以䏿¯è¯¦ç»è¯´æï¼Â
page -Â ä½ è½å¨å å«<jsp:useBean>å ç´ çJSPæä»¶ä»¥åæ¤æä»¶ä¸çææéæå 嫿件ä¸ä½¿ç¨Bean,ç´å°é¡µé¢æ§è¡å®æ¯å客æ·ç«¯ååååºæè½¬å°å¦ä¸ä¸ªæä»¶ä¸ºæ¢ã
  Â
request -Â ä½ å¨ä»»ä½æ§è¡ç¸å请æ±çJspæä»¶ä¸ä½¿ç¨Bean,ç´å°é¡µé¢æ§è¡å®æ¯å客æ·ç«¯ååååºæè½¬å°å¦ä¸ä¸ªæä»¶ä¸ºæ¢ãä½ è½å¤ä½¿ç¨Request对象访é®Bean,æ¯å¦request.getAttribute(beanInstanceName)
session - ä»å建Beanå¼å§ï¼ä½ å°±è½å¨ä»»ä½ä½¿ç¨ç¸åsessionçJspæä»¶ä¸ä½¿ç¨Bean.è¿ä¸ªBeanåå¨äºæ´ä¸ªSessionçå卿å ï¼ä»»ä½å¨å享æ¤SessionçJspæä»¶é½è½ä½¿ç¨åä¸Bean.注æå¨ä½ å建BeançJspæä»¶ä¸<% @ page %>æä»¤ä¸å¿ é¡»æå®session=true
application - ä»å建Beanå¼å§ï¼ä½ å°±è½å¨ä»»ä½ä½¿ç¨ç¸åapplicationçJspæä»¶ä¸ä½¿ç¨Bean.è¿ä¸ªBeanåå¨äºæ´ä¸ªapplicationçå卿å ï¼ä»»ä½å¨å享æ¤applicationçJspæä»¶é½è½ä½¿ç¨åä¸Bean.Â
class="package.class"
使ç¨newå ³é®å以åclassæé å¨ä»ä¸ä¸ªclassä¸ç¤ºä¾ä¸ä¸ªbean.è¿ä¸ªclassä¸è½æ¯æ½è±¡çï¼å¿ é¡»æä¸ä¸ªå ¬ç¨çï¼æ²¡æåæ°çæé å¨.è¿ä¸ªpackageçåååºå«å¤§å°åãÂ
type="package.class"
妿è¿ä¸ªBeanå·²ç»å¨æå®çèå´ä¸åå¨ï¼é£ä¹åè¿ä¸ªBeanä¸ä¸ªæ°çæ°æ®åºç±»å ãå¦æä½ æ²¡æä½¿ç¨classæbeanNameæå®typeï¼Beanå°ä¸ä¼è¢«ç¤ºä¾.packageåclassçååï¼åºå大å°å.Â
beanName="{package.class | <%= expression %>}" type="package.class"
使ç¨java.beans.Beans.instantiateæ¹æ³æ¥ä»ä¸ä¸ªclassæè¿ç»æ¨¡çä¸ç¤ºä¾ä¸ä¸ªBean,åæ¶æå®Beançç±»åãÂ
beanNameå¯ä»¥æ¯packageåclassä¹å¯ä»¥æ¯è¡¨è¾¾å¼,å®çå¼ä¼ä¼ ç»Beans.instantiate.tupeçå¼å¯ä»¥åBeanç¸åãÂ
package å class åååºå大å°å.