Скриптлеты <%

Что вообще можно вставить в JSP-файл?

Во-первых — Java-код. Если ты хочешь вставить Java-код в свой JSP, то общий формат задается шаблоном:

 <%
	Java-код
 %>

Можно разбивать такой код на несколько частей:

 <%
   Начало Java-кода
 %>
  HTML-код
<%
   Конец Java-кода
 %>

Пример:


    <html> 
    <body> 
	<%
    	double num = Math.random();
    	if (num > 0.95) {
     %>
         <h2> Ты счастливчик, user!</h2><p>(<%= num %>)</p>
 	<%
   	    } else {
     %> 
         <h2> Сегодня не твой день, user!</h2><p>(<%= num %>)</p>
 	<%
   	    }
 	%>
  </body> 
   </html> 

Выражение <%=

Также в JSP-файл можно вставить любое вычисляемое выражение. При этом JSP-парсер сам позаботится о том, чтобы оно не просто вычислялось, но и присваивалось, куда нужно. Выражение внутри кода задается шаблоном:

 <%= выражение %>

Обрати внимание, что точку с запятой тут ставить не нужно.

Пример JSP-сервлета с несколькими выражениями:

<p>Корень из 10 равен <%= Math.sqrt(10) %></p>
<h5><%= item[10] %></h5>
<p>Текущее время: <%=  new java.util.Date() %></p>

Этот код будет преобразован в такой Java-код:


out.write("<р>");
out.write("Корень из 10 равен ");
out.print( Math.sqrt(10) );
out.write("</p>");
out.write("<h5>");
out.print( item[10] );
out.write("</h5>");
out.write("<p> Текущее время: ");
out.print( new java.util.Date()  );
out.write("</p>");

Важно! В своем Java-коде и выражениях ты можешь использовать предопределённые переменные, такие как request, response, session, out и т. п.