Wikibooks har en bok om ämnet: J2EE Programming/JavaServer Pages
Java-kod krävs inte för att vara komplett eller fristående i ett enda scriptlet block. Det kan straddle markup innehåll, förutsatt att sidan som helhet är syntaktiskt korrekt. Till exempel måste alla Java if/for/while-block som öppnas i en scriptlet vara korrekt stängda i en senare scriptlet för att sidan ska kunna kompilera. Detta gör att koden kan blandas och kan leda till dålig programmeringspraxis.,
innehåll som faller inom ett Delningsblock av Java-kod (som spänner över flera scriptlets) omfattas av den koden. Innehåll i ett if-block visas bara i utmatningen när if-tillståndet utvärderas till true. På samma sätt kan innehåll inuti en slingkonstruktion visas flera gånger i utmatningen, beroende på hur många gånger slingkroppen går.
följande skulle vara giltigt för loop i en JSP-sida:
<p>Counting to three:</p><% for (int i=1; i<4; i++) { %> <p>This number is <%= i %>.</p><% } %><p>OK.</p>
utgången som visas i användarens webbläsare skulle vara:
Counting to three:This number is 1.This number is 2.This number is 3.OK.
uttryck LanguageEdit
Version 2.,0 i JSP-specifikationen lades stöd för uttrycket språk (EL), som används för att komma åt data och funktioner i Java-objekt. I JSP 2.1 viks det i Unified Expression Language, som också används i JavaServer-ansikten.
ett exempel på EL syntax:
värdet för ”variabel” i objektet ”javabean” är ${javabean.variabel}.
ytterligare taggsedit
JSP-syntaxen lägger till ytterligare taggar, kallade JSP-åtgärder, för att åberopa inbyggd funktionalitet., Dessutom möjliggör tekniken skapandet av anpassade JSP-taggbibliotek som fungerar som tillägg till standard JSP-syntaxen. Ett sådant bibliotek är JSTL, med stöd för vanliga uppgifter som iteration och conditionals (motsvarande ”för” och ”if” uttalanden i Java.)