JSP | |
---|---|
Udvidelse | .jsp |
MIME -type | applikation/jsp |
Udvikler | Eclipse Foundation |
Seneste udgivelse | 3.1.0 (15. maj 2022 ) |
Formattype | filformat , skabelonmotor og teknisk specifikation |
Standard(er) | JSR 245 |
Internet side | projects.eclipse.org/… ( engelsk) |
Mediefiler på Wikimedia Commons |
JSP ( JavaServer Pages ) er en teknologi, der gør det muligt for webudviklere at skabe indhold, der har både statiske og dynamiske komponenter. En JSP-side indeholder to typer tekst: statiske kildedata, som kan være i et af tekstformaterne HTML , SVG , WML eller XML , og JSP-elementer, der konstruerer dynamisk indhold. Derudover kan JSP-tag-biblioteker samt Expression Language (EL) bruges til at indlejre Java -kode i det statiske indhold på JSP-sider.
JSP-sidekoden oversættes til Java-servletkode ved hjælp af Jasper JSP-sidekompileren og kompileres derefter til Java Virtual Machine ( JVM ) bytekode . Servlet-beholdere, der er i stand til at udføre JSP-sider, er skrevet i det platformsuafhængige Java-sprog. JSP'er indlæses på serveren og administreres fra en speciel Java-serverpakkestruktur kaldet Jakarta EE Web Application. Typisk er sider pakket i .war og .ear filarkiver .
JSP-teknologi er en platform-uafhængig, bærbar og let udvidelsesbar teknologi til udvikling af webapplikationer .
Siden version 1.2 har udviklingen af JavaServer Pages fundet sted under Java Community Process . JSR 53 definerer JSP 1.2- og Servlet 2.3-standarderne, mens JSR 152 definerer JSP 2.0-specifikationen. I maj 2006 blev JSP-specifikationen 2.1 frigivet under JSR 245 som en del af Java EE 5 . Den 10. december 2009 blev JSP 2.2-specifikationen frigivet som indholdet af JSR 245- udgivelsen .
Disse versioner er fundamentalt forskellige fra de tidligere versioner, som blev opfattet som Javas svar på ASP . Nogle af kernefunktionerne i tidligere versioner (såsom muligheden for at udvikle tag-biblioteker) er blevet fjernet eller erstattet i overensstemmelse med princippet om adskillelse af kode og indhold. Da det er svært at navigere og adskille indholdet fra selve koden i store mængder kildekode , opstod ideen om at adskille (overføre) dem ved hjælp af JSP-tags, som f.eks <jsp:useBean/>. For at implementere denne idé er JSP-tags blevet opdelt i tre logiske grupper: direktiver, scriptelementer og handlinger.
JSP 1.2 udvider JavaServer Pages 1.1 (JSP 1.1) specifikationen som følger:
Den nye version af JSP-specifikationen tilføjer følgende funktionalitet:
Java EE 5-platformen fokuserer på nem udvikling ved hjælp af Java-sprogsannoteringer, der blev introduceret af J2SE 5.0 . JSP 2.1 understøtter dette mål ved at definere afhængighedsinjektionsannotationer på JSP-udsagn og kontekstlyttere.
JavaServer Pages (JSP) giver dig mulighed for at adskille den dynamiske del af siderne fra den statiske HTML . Den dynamiske del er omgivet af specielle tags "<% %>":
Dit værtsnavn : <% = anmodning . getRemoteHost () %>JSP-sider har en udvidelse .jspog er placeret samme sted som almindelige websider. Strukturen af sådanne sider kan bestå af fem konstruktioner: HTML , kommentarer, script-elementer, direktiver og handlinger. JSP-siden kompileres til en servlet med statisk indhold, der sendes til outputstrømmen, der er knyttet til servicemetoden . På den første anmodning kan denne proces derfor forårsage en lille forsinkelse. Kommentarer i et dokument eller program får ikke programmet til at bremse, da de ignoreres af compileren og udføreren. Script-elementer giver dig mulighed for at specificere Java -kode , der senere vil blive en del af den endelige servlet, direktiver giver dig mulighed for at kontrollere hele strukturen af servlet, og handlinger tjener til at specificere de eksisterende komponenter, der bruges, samt styre adfærden af JSP-motoren . For at gøre scripting nemmere er der foruddefinerede variabler som f.eks request, response, pageContext, session, out, application, config, page, exception. Et eksempel på en JSP-side, der bruger alle JSP-komponenter:
Kommentarer bruges til at forklare kildekoden til et program. På JSP-sider kan kommentarer opdeles i to grupper:
JSP-kildekodekommentarer er markeret med en speciel sekvens af tegn: <%--i begyndelsen og --%>i slutningen af kommentaren. Denne type kommentar fjernes, når JSP-siden kompileres. JSP kommentar eksempel:
<% -- Viser produktkataloget og den aktuelle indkøbskurv . --%>HTML - markeringskommentarer er formateret i overensstemmelse med reglerne for HTML-sproget. Denne type kommentarer behandles som statisk tekst af JSP-kompileren og placeres i output-HTML-dokumentet. JSP-udtryk inde i HTML-kommentarer udføres. HTML kommentar eksempel:
<!-- Sidens oprettelsesdato : < %= ny java . brug . Dato () %> -->JSP-specifikationen skelner mellem tre typer scriptelementer:
Deklarationer bruges almindeligvis til at definere variabler, metoder, indre klasser og andre gyldige Java-konstruktioner på klasseniveau. Udtrykkene bliver argumenter til out.print() metoden. Ved hjælp af scriptlets er arbejdsdele af Java-kode indlejret i JSP-sider.
JSP-erklæringerJSP-erklæringer giver dig mulighed for at definere variabler, metoder, indre klasser og så videre. Deklarationer bruges til at definere de Java-konstruktioner, der bruges i programmet. Da erklæringer ikke gengives, bruges de normalt i forbindelse med JSP-udtryk eller scriptlets. JSP-eksemplet viser antallet af anmodninger til denne side, siden serveren blev startet (eller siden servlet'en sidst blev ændret og genindlæst). Bemærk, at vi i eksemplet bruger både en erklæring og et udtryk, og at der inde i konstruktionen er et semikolon ( ; ) efter erklæringen:
<%! privat int accessCount = 0 ; % > Antal sidehits siden serverindlæsning : < % = ++ accessCount % > JSP-udtrykJSP-udtryk bruges til at indsætte Java-værdier direkte i outputtet. Java-udtryk evalueres, konverteres til en streng og indsættes på siden. Disse beregninger finder sted ved kørselstid (det vil sige, når siden er anmodet om), og derfor er der fuld adgang til information om selve anmodningen. I udtryk kan du bruge konstanter, variabler, kald til forskellige metoder. Alle udtryk, uanset kompleksiteten af deres indhold, evalueres til et enkelt resultat eller tal. JSP-sider er afhængige af JSP Writer , som tager ethvert resultat af et udtryk, konverterer det til en type String(tekst) og buffer det . For eksempel viser følgende kode datoen og klokkeslættet for en given sideanmodning:
Aktuel tid : <%= new java . brug . Dato () %> Dit værtsnavn : <% = anmodning . getRemoteHost () %>Du skal være opmærksom på tre regler:
JSP-scriptlets giver dig mulighed for at indsætte enhver kode i en servlet-metode, der vil blive genereret, når siden gengives, hvilket giver dig mulighed for at bruge de fleste af Java-konstruktionerne. Scriptlets har også adgang til de samme foruddefinerede variabler som udtryk. Derfor skal du for eksempel bruge en foruddefineret variabel for at vise en værdi på en side out.
<% String queryData = anmodning . getQueryString (); ud . println ( "Yderligere forespørgselsdata: " + queryData ); %>Koden inde i scriptlet er indsat, som den blev skrevet. Al statisk HTML (skabelontekst) før eller efter scriptlet er konverteret ved hjælp af print. For eksempel indeholder følgende JSP-kodestykke blandet skabelon- og scriptlettekst:
<% if ( Math . random () < 0,5 ) { %> < B > Hav en god dag </ B > ! <% } else { %> < B > Hav en dårlig dag </ B > til dig ! <% } %>Efter konvertering af scriptlet vil koden se sådan ud:
if ( Matematik . tilfældig ( ) < 0,5 ) { ud . println ( "<B>Hav en god</B> dag!" ); } andet { ud . println ( "<B>Hav en dårlig dag</B> for dig!" ); }Dette betyder, at scriptlets ikke behøver at indeholde komplette Java-snippets, og at blokke efterladt åbne kan påvirke statisk HTML uden for scriptlet.
JSP-siden kan sende en besked til den relevante container med instruktioner om, hvad de skal gøre. Disse meddelelser kaldes direktiver. Alle direktiver begynder med <%@, efterfulgt af direktivets navn og en eller flere attributter med værdier og slutter med %>. Direktiverne på JSP-siden får containeren til at sende en anmodning om at udføre en specifik service, som ikke er erklæret i det genererede dokument. Formen af direktiver kan repræsenteres som følger:
<% @ direktiv attribut = "værdi" %>Du kan også kombinere indstilling af flere attributter på et enkelt direktiv:
<% @ direktiv attribut1 = "værdi1" attribut2 = "værdi2" ... attributN = " værdiN " %>Der er tre hovedtyper af direktiver: side , som giver dig mulighed for at gøre ting som at importere klasser, ændre en servlets superklasse og så videre; include , som giver dig mulighed for at indsætte en fil i en servlet-klasse, når du oversætter en JSP-fil til en servlet; og taglib , som giver dig mulighed for at udvide mange tags med dine egne, som JSP-containeren er i stand til at fortolke.
JSP side direktivSom navnet antyder, giver dette direktiv attributter til JSP-siden. De attributter, der er defineret i dette direktiv, er indlejret i den givne JSP-side og alle dens indlejrede statiske elementer, uanset om de blev indsat med direktivet includeeller med handlingen jsp:include. Direktivets form er som pagefølger:
<% @ page attribute = " værdi " %>Lad os tage følgende indgang som et eksempel:
<% @ page import = ” java . brug . * , com . mine klasser . * ” buffer = ” 15 kb ” %>Dette direktiv angiver, at JSP-siden importerer klasser fra to Java-pakker java.utilog com.myclassesspecificerer derefter størrelsen af den bufferhukommelse, der skal bruges til at behandle den givne JSP-side.
Overvej derefter direktivets attributter page:
Du kan opnå det samme resultat ved at bruge et scriptlet:
<% svar . setContentType ( "tekst/almindelig" ); %> JSP inkluderer direktivDette direktiv giver dig mulighed for at inkludere filer i en servlet, når du oversætter en JSP-side. Brug af direktivet ser sådan ud:
<% @ include file = "relativ url" %>Den givne URL fortolkes normalt i forhold til JSP'en på den side, hvor linket er placeret, men som med alle andre relative URL'er kan du fortælle systemet placeringen af den ressource, du er interesseret i i forhold til webserverens hjemmemappe ved at sætte et " / "- symbol foran URL'en . Indholdet af en include-fil behandles som almindelig JSP-tekst og kan derfor omfatte elementer som statisk HTML , script-elementer, direktiver og handlinger. For eksempel bruger mange websteder en lille navigationslinje på hver side. På grund af problemerne med at bruge HTML -rammer løses denne opgave ofte ved at placere en lille tabel øverst eller i venstre halvdel af siden, hvis HTML -kode gentages mange gange for hver side på siden. Direktivet er den mest naturlige måde at udføre denne opgave på, og redder udvikleren fra mareridtet med at kopiere HTML ind i hver enkelt fil. Det sker sådan her: include
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < html > < head > < title > Testside < / title > </ head > < body > <% @ include file = "/navbar .html" %> <!-- Et specifikt fragment af denne side ... --> </ body > </ html >Bemærk, at da direktivet includeinkluderer filer under sideoversættelse, efter at du har foretaget ændringer i navigationslinjen, bliver du nødt til at genoversætte alle JSP-sider, der bruger det. Hvilket i dette tilfælde er et godt kompromis, da navigationslinjen som regel ændres ret sjældent, og forbindelsesprocessen ikke mister sin effektivitet. Hvis de inkluderede filer ændres ret ofte, kan du bruge handlingen i stedet for jsp:include. Denne handling inkluderer filen under adgang til JSP.
JSP taglib direktivSom du allerede ved, skrives elementer på JSP-sider ved hjælp af tags (konventionelle skilte, etiketter, mærker). Det sæt af tags, som en JSP-container kan fortolke, kan udvides med såkaldte tag-biblioteker. Du kan også knytte handlinger til et udvidet sæt tags, hvilket resulterer i en udvidelse af selve JSP-sproget. Tags kan opdeles i standard- og brugerdefinerede tags. En generaliseret måde at skrive på kan se sådan ud:
<% @ taglib uri = " URI til at tagge bibliotek " prefix = " tegnpræfiks " % >Tag-biblioteket skal identificeres med en URI -adresse (en unik ressource-id). URI kan enten være absolut eller relativ. Den unikke ressource-id identificerer placeringen af et tag-bibliotek ( TLD ), der definerer det pågældende biblioteks egne tags. Et eksempel på en direktivindgang:
<% @ taglib uri = " http://www.moywebserver.ru/naydiznaki.tld " præfiks = "iskat" %>En JSP-side kan indeholde et uendeligt antal direktiver taglib, men hvert direktiv skal have et andet præfiks, der definerer indholdet af biblioteket på siden. Som præfiks kan du bruge en hvilken som helst tekst, ord. Mens et direktiv taglibkan bruges hvor som helst på en JSP-side, skal alle indbyggede tags, som disse direktiver bruger, bruges bag dem.
JSP-handlinger bruger XML -syntakskonstruktioner til at kontrollere driften af servletmotoren. Du kan dynamisk inkludere en fil, genbruge JavaBeans , dirigere brugeren til en anden side eller generere HTML til et Java-plugin . Alle disse handlinger diskuteres i detaljer nedenfor. Husk, at som med al XML , skelnes der mellem store og små bogstaver i element- og attributnavne. Handlinger kan opdeles i to grupper: standard og oprettet (egen, som programmøren opretter). Følgende standardhandlinger er tilladt:
Denne handling giver dig mulighed for at indlæse en JavaBean til senere brug på en JSP-side. Denne funktion giver dig mulighed for at genbruge Java-klasser uden at ofre fordelene ved JSP-servlets. Derudover er dette en måde at fjerne meget af Java-behandlingen fra JSP-siden. Hvis du overfører Java-behandling fra en JSP-side til en JavaBean, så kan disse funktioner så bruges på andre JSP-sider. Den enkleste syntaks til at specificere bønnen, der skal bruges, er:
< jsp : useBean id = "navn" class = "pakke.klasse" />Typisk betyder dette "at oprette en ny forekomst af et objekt af klassen specificeret af klassen og associere det med en variabel navngivet af id ". Du kan dog indstille scope - attributten (tager værdierne for siden, page|request|session|applicationfor anmodninger, for sessioner eller dialoger, for applikationen), som ikke kun er forbundet med den aktuelle side. I dette tilfælde er det nyttigt at få referencer til eksisterende , og handlingen instansierer kun et nyt objekt, hvis der ikke findes et objekt med samme id og omfangsværdier . Nu hvor du har en , kan du ændre dens egenskaber med en handling , eller ved at bruge en scriptlet til at gøre det og eksplicit kalde objektets metode med variabelnavnet angivet tidligere via id -attributten . Husk på, at med bønner , når du siger "denne bønne har en egenskab af type X ved navn " mener du virkelig "denne klasse har en metode , der returnerer data af type X og en anden metode, der tager X som en parameter." Handlingen er dækket mere detaljeret i næste afsnit, men indtil videre skal du huske, at du enten udtrykkeligt kan indstille værdi ved at indstille param- attributten for at få værdien fra den tilsvarende forespørgselsparameter, eller blot opregne egenskaber for at få værdier fra forespørgselsparametre med samme navne som egenskaber. Du kan få værdierne af eksisterende egenskaber ved at bruge JSP-udtryk eller scriptlets ved at kalde den passende metode eller (oftest) ved at bruge en handling . pagerequestsessionapplicationbeanbeansjsp:useBeanbeanjsp:setPropertyfoogetFoosetFoojsp:setPropertygetXxxjsp:getProperty
Klassen givet til bønnen skal være i serverens normale klassemappe, ikke i den del, der er reserveret til klasser, der automatisk genindlæses efter redigering. For f.eks. Java-webserveren skal alle brugte klasser placeres i en mappe classeseller en .jar -fil i mappen lib, ikke i mappen servlets. Nedenfor er et simpelt eksempel, der indlæser beanog indstiller/får en simpel strengparameter.
BeanTest.jsp
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < html > < head > < title > Genbrug af JavaBeans i JSP < / title > < / head > < body > < h1 > Genbrug af JavaBeans i JSP </ h1 > < jsp : useBean id = "test" class = "hall.SimpleBean" /> < jsp : setProperty name = "test" property = "message" value = "Hej WWW" /> < p > Meddelelse : < jsp : getProperty name = "test" egenskab = "meddelelse" /> </ p > </ body > </ html >SimpleBean.java
pakkehal ; _ public class SimpleBean { private String message = "Beskedtekst ikke angivet" ; public String getMessage () { return ( message ); } public void setMessage ( String message ) { this . besked = besked _ } }Et par flere detaljer om, hvordan du bruger jsp:useBean. Den nemmeste måde at bruge bean det på er at bruge konstruktionen:
< jsp : useBean id = "navn" class = "pakke.klasse" />at indlæse beanog derefter bruge jsp:setPropertyog jsp:getPropertytil at ændre og få dens egenskaber (parametre). Der er dog to andre måder. Først kan du bruge containerformatet, nemlig:
< jsp : useBean ... > Body </ jsp : useBean >for at sikre, at Body kun udføres, når en instans beanoprettes for første gang, og ikke når en eksisterende findes og bruges bean. Som diskuteret nedenfor, beanskan deles, så ikke alle udtryk jsp:useBeanresulterer i en ny forekomst af bean. For det andet, udover id og klasse , er der tre andre attributter, du kan bruge: scope , type og beanName . Disse attributter er beskrevet nedenfor:
Du kan bruge jsp:setPropertydet tidligere beskrevne beans. Du kan gøre dette på to måder. For det første kan du bruge jsp:setPropertyefter, men uden for elementet jsp:useBean, som vist i eksemplet:
< jsp : useBean id = "mitNavn" ... /> ... < jsp : setProperty name = "mitNavn" egenskab = "noget Ejendom" ... />I dette tilfælde jsp:setPropertyudføres den, uanset om en eksisterende instans blev fundet, beaneller en ny instans blev oprettet. En anden mulighed er at placere jsp:setPropertyi elementets krop jsp:useBean, som vist i et andet eksempel:
< jsp : useBean id = "mitNavn" ... > ... < jsp : setProperty name = "mitNavn" egenskab = "noget Ejendom" ... /> </ jsp : useBean >Dette jsp:setPropertygøres kun, hvis en ny instans af objektet er blevet oprettet, og ikke når en eksisterende er fundet. En handling jsp:setPropertyaccepterer følgende fire attributter:
Hvis du hverken bruger valueeller param, er det det samme, som hvis du havde givet et navn, der parammatcher navnet property. Du kan anvende dette princip med automatisk at bruge forespørgselsegenskaber, hvis navne matcher egenskabsnavne, og gå videre ved at indstille egenskabsnavnet til " * " og udelade værdi- og parameterparametrene . I dette tilfælde vil serveren behandle de gyldige egenskaber og forespørgselsparametre for at matche identiske navne. Det følgende er et eksempel, der bruges beantil at lave en tabel med primtal. Hvis der findes en parameter numDigitsi anmodningsdataene, sendes den til bean numDigits. Tilsvarende for numPrimes. JspPrimes.jsp
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > < html > < head > < title > Genbrug af JavaBeans i JSP < / title > < / head > < body > < h1 > Genbrug af JavaBeans i JSP </ h1 > < jsp : useBean id = "primeTable" class = "hall.NumberedPrimes" /> < jsp : setProperty name = "primeTable" property = "numDigits" /> < jsp : setProperty name = "primeTable" egenskab = "numPrimes" /> < p > Adskillige primtal for tegn < jsp : getProperty name = " primeTable " property = "numCifret" /> : < jsp : getProperty name = "primeTable" property = "numberedList" /> </ p > </ body > </ html > jsp:getProperty handlingDette element bestemmer værdien af egenskaben bean, konverterer den til en streng og sender den til outputstrømmen. For at udføre en handling skal der angives to attributter: navnet bean, som er forudindstillet i handlingen jsp:useBean, og navnet på den egenskab, hvis værdi skal bestemmes. Følgende er et eksempel på, hvordan du bruger denne handling:
< jsp : useBean id = "itemBean" ... /> ... < UL > < LI > Antal varer : < jsp : getProperty name = "itemBean" property = "numItems " / > < LI > Enhedspris : < jsp : getProperty name = "itemBean" property = "unitCost" /> </ UL > jsp:inkluder handlingDenne handling giver dig mulighed for at indsætte indholdet af filer på den genererede side. Handlingssyntaks:
< jsp : include page = "relativ URL" flush = "sand" />I modsætning til direktivet include, som indsætter en fil under JSP-oversættelsesfasen af siden, indsætter denne handling filen, når siden anmodes om. Dette resulterer i et vist tab af effektivitet og eliminerer muligheden for JSP-kode i den indsatte fil, men det giver en betydelig fordel med hensyn til fleksibilitet.
Et eksempel på indsættelse af indholdet af fire filer på en JSP-side:
<! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//DA" "http://www.w3.org/TR/html4/strict.dtd" > < html > < head > < title > Nyheder </ title > </ head > < body > < h1 > Nyheder </ h1 > < p > Her er uddrag fra vores fire mest populære artikler : </ p > < ol > < li >< jsp : include page = "news/Item1. html" flush = "true" /></ li > < li >< jsp : include page = "news/Item2.html" flush = "true" /></ li > < li >< jsp : include page = " news/ Item3.html" flush = "true" /></ li > < li >< jsp : include page = "news/Item4.html" flush = "true" /></ li > </ ol > </ body > </ html > jsp:forward actionDenne handling giver dig mulighed for at sende anmodningen til en anden statisk HTML-side, servlet eller JSP-side. I modsætning til en handling jsp:includeslutter behandlingen af den aktuelle side. Den bruger én attribut page, som skal indeholde en relativ URL , baseret på hvilken objektet er bestilt request. jsp:paramDu kan tilføje andre parametre til de originale forespørgselsparametre, der er sendt til en anden side ved hjælp af en handling . Attributværdien pagekan enten være en statisk værdi eller en værdi beregnet under anmodningen, som vist i følgende to eksempler:
< jsp : forward page = "/utils/errorReporter.jsp" /> < jsp : forward page = "<%= someJavaExpression %>" />Ved hjælp af en handling jsp:forwardkan du også overføre kontrol til en anden side, men med den betingelse, at der ikke blev skrevet noget til den udgående bufferhukommelse, før du kalder denne handling (ellers vil der blive kastet en undtagelse IllegalStateException).
jsp:param handling og jsp:params handlingDenne handling giver oplysninger om navn/værditype. Denne handling bruges hovedsageligt sammen med de allerede kendte handlinger jsp:includeog jsp:forward. Derudover kan den også bruges sammen med handlingen jsp:plugin. I andre tilfælde er brugen af denne handling ligegyldig. Bruges jsp:parammed handlinger jsp:includeog jsp:forwardsender det originale objekt til nye sider request, som vil blive udvidet med de nye parametre. Hvis du angiver nye værdier for allerede eksisterende parametre, så er det de nye værdier, der har forrang. Ved hjælp af en handling jsp:paramskan du indstille flere parametre på én gang
jsp:plugin handlingDenne handling giver dig mulighed for at indsætte elementet OBJECT eller EMBED (afhængigt af hvilken type browser du bruger), der kræves for at køre applets, der bruger Java-plugin'et. Med andre ord tjener denne handling til at generere HTML for at indlejre Java API på JSP-siden. På samme måde kan du indsætte URL'en for at downloade moduler til Java API fra JavaSoft, som giver mulighed for at køre applets inde i browseren. Tilmeldingsformularen til denne handling ser således ud:
< jsp : plugin type = "bean|applet" code = "klassefil " codebase = "CodeBase-objekt" align = "placering" archive = "arkivliste " højde = "højde" hspace = "vandret rum" jreversion = "version" name = "komponentnavn" vspace = "vertical space" width = "width" nspluginurl = "url" iepluginurl = "url" > < jsp : params > < jsp : param name = "name1" value = "value1" /> < jsp : param name = "name2" value = "value2" /> ... < jsp : param name = "nameN" value = "valueN" /> </ jsp : params > < jsp : fallback > </ jsp : fallback > </ jsp : plugin >Lad os se på et eksempel på brug af denne handling i appletkoden:
< jsp : plugin type = "applet" code = "Blink.class" width = 300 højde = 100 > < jsp : params > < jsp : param name = lbl value = "Ja, det er mere lækkert end bare skiveskåret brød! " /> < jsp : param name = speed value = "4" /> < jsp : params > < jsp : fallback > Din browser kan af en ukendt årsag ikke køre denne applet </ fallback > </ jsp : plugin >Java | |
---|---|
Platforme | |
Sun Technologies | |
Nøgle tredjepartsteknologier | |
Historie |
|
Sprogegenskaber | |
Scripting sprog |
|
Java konferencer |
|