ä¸ï¼éå®å页é¢
1,response.sendRedirect("url");
2,response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location",newLocation);
äºï¼HTML EncoderåURL Encoder
1,HTML Encoderèªå®ä¹ï¼ååï¼''ä¸è¾åº,'&'-"&",'<'-"<",'>'-"gt;",'"'-"""
2,URLEncoder å¨java.netå 䏿å®ä¹
ååï¼public static String encode(String s)
ä¾å¦ï¼URLEncoder.encode("http://wwww.aaa.com/sss.jsp?name=å°é¬¼")
ä¸ï¼å¨JSPä¸è¯»åæä»¶
1ï¼ç¨FileOutputStreamåå§åPrintWriter,ç¶åç¨printæè printlnæ¹æ³åæä»¶
PrintWriter pw=new PrintWriter(new FileOutputStream("file1.txt"));
pw.println("Hello world!");
pw.close();//è¥æé误thow IOException
ç¨FileWriteråå§åPrintWriter,ç¶åç¨printæè printlnæ¹æ³åæä»¶
File f=new File("file1.txt");
PrintWriter pw=new PrintWriter(new FileWriter(f));
pw.print("Hello world!/n");
pw.close();
2ï¼ç¨InputStreamReaderæè FileReaderåå§åBufferedReader,ç¶åç¨readLine()æ¹æ³è¯»åæä»¶
BufferedReader br=new BufferedReader(new FileReader("file1.txt"));
String rt=br.readLine();//ç»å°¾ä¸ºnull
br.close();
3ï¼ç¨FileWriteråå§åPrintWriter,ç¶åç¨pintæè printlnæ¹æ³æ·»å æä»¶
PrintWriter pw=new PrintWriter(new FileWriter("file1.txt"),true);
4ï¼import java.io.*;
File f=new File(request.getRealPath(""),"file1.txt");
boolean f.exists();
f.delete();f.createNewFile();
File d=new File(request.getRealPath(""));
boolean d.exists();
d.delete();d.mkdir();
request.getRealPath("url");//èæç®å½æ å°ä¸ºå®é ç®å½
request.getRealPath("./");//ç½é¡µæå¨çç®å½
request.getRealPath("../");//ç½é¡µæå¨ç®å½çä¸ä¸å±ç®å½
File f=new File("path","file1.txt");
f.getName();
f.isFile();
f.isDirectory();
f.canRead();
f.canWrite();
f.isHidden();
f.lastModified;
f.createNewFile();
f.length();
File d=new File("path");
File list[]=d.listFiles();//listæ¯ä¸ä¸ªFileæ°ç»
for(int i=0;i<list.length;i++)out.println(list[i].getName());
FileReader fr=new FileReader("path"+"//file1.txt");
if(fr.read()==-1)//空æä»¶
fr.close();
fr.read(int i)//读åi个å符ï¼-1妿ä¸åææ°æ®
//ç¨BufferedReaderå¯ä»¥ä¸æ¬¡è¯»åä¸è¡æ°æ®
fr.skip(int i);//ç¥è¿i个å符
å¨å¼ç¨parseIntç彿°çæ¶åï¼åºéæ¯NumberFormatExceptionç
Randomè·å¾éæºæ°ï¼
Random rd=new Random((new Date()).getTime());
int p=Math.abs(rd.nextInt())%s;//s为0å°çèå´
åï¼URLéç»ã表åéèåCookie
1,è¿äºæ¯ç¨æ¥å¼¥è¡¥HTTPåè®®æ ç¶æç¹å¾çææ¯ï¼Sessionsææ¯ï¼çä¸é¨å
2ï¼URLéç»æ¯ç¨Getæ¹æ³åæå¡å¨åéçä¿¡æ¯â?param1=value1¶m2=value2&...¶mn=valuenâ
妿æå¡å¨å·²ç»å¨è¶ 龿¥ä¸é¢ä½äºsessionæ è®°ï¼é£ä¹å®¢æ·ç«¯éè¿è¿ä¸ªèµ°è¶ 龿¥åéè¯·æ¥æ¶å°±ä¼å 嫿¤æ è®°
3ï¼formä¸ç<input type=hidden name="key1" value="value1" />ä¹å¯ä»¥åURLéç»é£æ ·ä½¿ç¨ã
4ï¼Cookie对象
Cookie c=new Cookie("key", "value");
response.addCookie( c);
Cookie[] c=request.getCookies();
c. setMaxAge(int k);//k以ç§ä¸ºåä½
ä¸è¬æµè§å¨è½æ¾20个Cookie
äºï¼session对象
1ï¼session对象ä¸ä» ä» è½æ¾Stringæ°æ®ï¼è¿è½æ¾å¤æç对象ã
2ï¼session.putValue("key1",Object1);
Object o=session.getValue("key1");
å ï¼å¤çJSPä¸ç䏿é®é¢
1ï¼ASCIIç
8bitåå¨ï¼0~31å127æ¯æ§å¶å符ï¼32ï½126æ¯å¯è§å符ã
2ï¼GB2312
两个8bit表示ãåä¸ä¸ª127ï½255ï¼ä»¥åºåASCIIç ã
3ï¼Unicode
å¯ä»¥å°ä¸çä¸å åç§æåç¼ç ç»ä¸å¨åä¸ç§ç¼ç æºå¶ä¸ã以16bit为åä½åå¨ã0x0000~0xffff
4ï¼ISO-8859-1 æç§°ä¸ºLatin-1,8859-1ãå¨Unicodeæå çå¼å为0~255,ä½ä½ä¸ºASCIIæ©å±å°0ï½255ï¼ç¶åå¨é«ä½è¡¥ä¸0x00,ç»æ16bitï¼æ¤å¤ä¸å¤ªæï¼ã
5ï¼åèåunicode Javaå æ ¸æ¯unicode,classæä»¶ä¹æ¯ã使¯æµå´æ¯éç¨çbyteæ¹å¼ãchar为unicodeæ¹å¼ï¼byteæ¯åèæ¹å¼ã转æ¢å½æ°ï¼sun.ioéé¢ï¼
public static ByteToCharConverter getDefault();//è·åç³»ç»ä½¿ç¨çç¼ç æ¹å¼ã
public static ByteToCharConverter getConverter(String encoding);
ByteToCharConverter c=New ByteToCharConverter(["encoding"]);
Byte[] s= c.convertAll(Char[] d);
ä¹å¯ä»¥ Char[] d= c.converterAll(Byte[] s);
6,ä¸äºå½æ°ï¼
Integer.toHexString(int i);
String s;s.getBytes();
String(byte[]);String(byte[],encoding);//constructors
//å ³äºUnicodeç¼ç æç®åç¬åä¸ç¯
ä¸ï¼è·åJVM屿§å¼
Properties props=System.getProperties();
Enumeration enum=props.propertyNames(); //keyæä¸¾
key=(String)enum.nextElement();
String s=(String)props.getProperty(key);
å «ï¼JSPé误å¤ç
1ï¼ææå¯è¢«throwåcatchçException对象é½ç»§æ¿èªThrowableãExceptionåºè¯¥è¢«catchæå¯¹;Errorå¯¹è±¡ä¹æ¯ç»§æ¿èªThrowableï¼åªæ¯ä¸åºè¯¥catchï¼èçç»æç¨åºã
2ï¼catchåºåé对çExceptionåºè¯¥ä»ä½çº§å°é«çº§æå¯¹ã
3ï¼è½¬è¯é误å客æ·ç«¯ç«¯è¯·æ±é误ãjspæºç¨åºé误ãimportè·¯å¾ä¸æ£ç¡®çä¼å¨çæServlet Classææ¡£æ¶äº§ç转è¯é误(500)ã卿§è¡Servlet Classæ¶å®¢æ·ç«¯è¯·æ±é误ä¼è¢«catchã
4ï¼éè¯¯äº§çæ¶ï¼å¯ä»¥jsp:forwardæ¥æ§å¶ï¼ä½æ´å¥½æ¯ç¨errorPageæ¥å¤çãä¹å¯ä»¥throw new Exception("errMsg")ã ---------------------------------------------------------------------------------------------------------------------------------------------- JSPè¯æ³ç®è¡¨ 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å ç´ ç屿§å¼.ä¸ä¸ªè¡¨è¾¾å¼è½å¤åå¾å¾å¤æï¼å®å¯è½ç±ä¸ä¸ªæå¤ä¸ªè¡¨è¾¾å¼ç»æï¼è¿äºè¡¨è¾¾å¼çé¡ºåºæ¯ä»å·¦å°å³ãÂ
==================================================================Â
ScriptletÂ
å å«ä¸ä¸ªææçç¨åºæ®µ.Â
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.Â
=================================================================Â
Taglib æä»¤Â
å®ä¹ä¸ä¸ªæ ç¾åºä»¥åå ¶èªå®ä¹æ ç¾çåç¼.Â
JSPÂ è¯æ³Â
<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>Â
ä¾åÂ
<%@ taglib uri="http://www.jspcentral.com/tags" prefix="public" %>Â
<public:loop>Â
.Â
.Â
</public:loop>Â
æè¿°Â
<% @ taglib %>æä»¤å£°ææ¤JSPæä»¶ä½¿ç¨äºèªå®ä¹çæ ç¾ï¼åæ¶å¼ç¨æ ç¾åºï¼ä¹æå®äºä»ä»¬çæ ç¾çåç¼ãÂ
è¿éèªå®ä¹çæ ç¾å«ææ ç¾åå ç´ ä¹åãå 为JSPæä»¶è½å¤è½¬å为XML,æä»¥äºè§£æ ç¾åå ç´ ä¹é´çèç³»å¾éè¦ãæ ç¾åªä¸è¿æ¯ä¸ä¸ªå¨æä¹ä¸è¢«æ¬é«äºç¹çæ è®°ï¼æ¯JSPå ç´ çä¸é¨åãJSPå ç´ æ¯JSPè¯æ³çä¸é¨åï¼åXML䏿 ·æå¼å§æ è®°åç»ææ è®°ãå ç´ ä¹å¯ä»¥å å«å ¶å®çææ¬ï¼æ è®°ï¼å ç´ ãæ¯å¦ï¼ä¸ä¸ªjsp:pluginå ç´ æ<jsp:plugin>å¼å§æ è®°å</jsp:plugin>ç»ææ è®°ï¼åæ ·ä¹å¯ä»¥æ<jsp:params>å<jsp:fallback>å ç´ .Â
ä½ å¿ é¡»å¨ä½¿ç¨èªå®ä¹æ ç¾ä¹å使ç¨<% @ taglib %>æä»¤ï¼èä¸ä½ å¯ä»¥å¨ä¸ä¸ªé¡µé¢ä¸å¤æ¬¡ä½¿ç¨ï¼ä½æ¯åç¼åªè½ä½¿ç¨ä¸æ¬¡Â
屿§Â
uri="URIToTagLibrary"Â
Uniform Resource Identifier (URI)æ ¹æ®æ ç¾çåç¼å¯¹èªå®ä¹çæ ç¾è¿è¡å¯ä¸çå½åï¼URIå¯ä»¥æ¯ä»¥ä¸çå 容:Â
ãÂ
Uniform Resource Locator (URL), ç±Â RFC 2396 å®ä¹, æ¥ç http://www.hut.fi/u/jkorpela/rfc/2396/full.htmlÂ
ãÂ
Uniform Resource Name (URN), ç±Â RFC 2396å®ä¹Â
ãÂ
ä¸ä¸ªç¸å¯¹æç»å¯¹çè·¯å¾Â
prefix="tagPrefix"Â
å¨èªå®ä¹æ ç¾ä¹åçåç¼ï¼æ¯å¦ï¼å¨<public:loop>ä¸çpublicï¼å¦æè¿éä¸åpublicï¼é£ä¹è¿å°±æ¯ä¸åæ³çã请ä¸è¦ç¨jsp, jspx, java, javax, servlet, sun, åsunwåä¸ºä½ çåç¼Â
=====================================================================Â
<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 åååºå大å°å.Â