В этом разделе кратко представлены базовый синтаксис разработки JSP.
Программа-скрипт может содержать любое количество операторов Java, переменных, методов или выражений, если они допустимы на языке сценариев.
Синтаксический формат программы-скрипта:
<% фрагмент кода%>
Альтернативно вы можете написать эквивалентный оператор XML, например:
<jsp:scriptlet> фрагмент кода</jsp:scriptlet>
Любой текст, теги HTML и элементы JSP должны быть написаны вне программы-скрипта.
Ниже приведен пример, который также является первым примером JSP в этом руководстве:
<html><head><title>Привет, мир</title></head><body>Привет, мир!<br/><% out.println("Ваш IP-адрес " + request.getRemoteAddr() %); </body></html>
Примечание. Убедитесь, что Apache Tomcat установлен в каталог C:apache-tomcat-7.0.2 и рабочая среда настроена правильно.
Сохраните приведенный выше код в hello.jsp, затем поместите его в каталог C:apache-tomcat-7.0.2webappsROOT, откройте браузер и введите в адресной строке http://localhost:8080/hello .jsp. . После запуска я получаю следующие результаты:
Оператор объявления может объявлять одну или несколько переменных и методов для использования последующим кодом Java. В файле JSP вы должны объявить эти переменные и методы, прежде чем сможете их использовать.
Синтаксический формат объявления JSP:
<%! объявление; [ объявление ]+ ... %>
Альтернативно вы можете написать эквивалентный оператор XML, например:
<jsp:declaration>Фрагмент кода</jsp:declaration>
Пример программы:
<%! int я = 0; %> <%! int %> <%! Круг а = новый круг (2.0);
Выражение языка сценариев, содержащееся в выражении JSP, сначала преобразуется в строку, а затем вставляется в то место, где появляется выражение.
Поскольку значение выражения преобразуется в строку, вы можете использовать выражение в строке текста независимо от того, является ли оно тегом HTML.
Элемент выражения может содержать любое выражение, соответствующее спецификации языка Java, но точку с запятой нельзя использовать для завершения выражения.
Синтаксический формат выражения JSP:
<%= выражение%>
Аналогичным образом вы можете написать эквивалентный оператор XML:
<jsp:expression> выражение</jsp:expression>
Пример программы:
<html> <head><title>Тест комментариев</title></head> <body><p> Сегодняшняя дата: <%= (new java.util.Date()).toLocaleString()%></ p></body> </html>
После запуска я получаю следующие результаты:
Сегодняшняя дата: 11 сентября 2013 г. 21:24:25
Комментарии JSP имеют две основные функции: комментирование кода и закомментирование определенного раздела кода.
Синтаксический формат комментариев JSP:
<%-- Вы можете оставить комментарии JSP здесь--%>
Пример программы:
<html> <head><title>Тест комментариев</title></head> <body> <h2>Тест комментариев</h2> <%-- Эта часть комментариев не будет отображаться в сети страница-- %> </body> </html>
После запуска я получаю следующие результаты:
Тест комментариев
Грамматические правила использования комментариев в разных ситуациях:
грамматика | описывать |
---|---|
<%--Комментарий--%> | JSP-комментарии, содержимое комментария не будет отправлено в браузер или даже скомпилировано. |
<!-- Комментарии --> | HTML-комментарии, содержимое комментария можно увидеть при просмотре исходного кода веб-страницы через браузер. |
<% | Представляет статическую <% константу |
%> | Представляет статическую константу %> |
' | Одинарные кавычки, используемые в атрибутах |
" | Двойные кавычки, используемые в атрибутах |
Директивы JSP используются для установки свойств, относящихся ко всей странице JSP.
Формат синтаксиса инструкций JSP:
<%@ директива атрибут="значение" %>
Существует три тега директив:
инструкция | описывать |
---|---|
<%@ страница ... %> | Определите атрибуты зависимостей страницы, такие как язык сценария, страница ошибок, требования к кэшу и т. д. |
<%@ включить ... %> | включить другие файлы |
<%@ taglib ... %> | Представьте определение библиотеки тегов, которая может быть пользовательским тегом. |
Теги поведения JSP используют синтаксические структуры XML для управления механизмом сервлетов. Он может динамически вставлять файл, повторно использовать компоненты JavaBean, направлять пользователя на другую страницу, генерировать соответствующий HTML для подключаемых модулей Java и многое другое.
Теги поведения имеют только один синтаксический формат, который строго соответствует стандарту XML:
<jsp:action_name атрибут="значение" />
Теги поведения — это, по сути, некоторые предопределенные функции. В следующей таблице перечислены некоторые доступные теги поведения JSP:
грамматика | описывать |
---|---|
jsp: включить | Используется для включения статических или динамических ресурсов на текущую страницу. |
jsp:useBean | Найдите и инициализируйте компонент JavaBean |
jsp:setProperty | Установите значение компонента JavaBean |
jsp:getProperty | Вставьте значение компонента JavaBean в выходные данные. |
jsp: вперед | Передайте объект запроса, содержащий запрос пользователя, из одного файла JSP в другой. |
jsp: плагин | Используется для включения объектов Applet и JavaBean в сгенерированные HTML-страницы. |
jsp: элемент | Динамическое создание элемента XML |
jsp: атрибут | Определите атрибуты динамически создаваемых элементов XML. |
jsp:тело | Определяет тело динамически создаваемого XML-элемента. |
jsp:текст | Используется для инкапсуляции данных шаблона. |
JSP поддерживает девять автоматически определяемых переменных, известных как неявные объекты. Введение в эти девять неявных объектов показано в таблице ниже:
объект | описывать |
---|---|
запрос | Экземпляр класса HttpServletRequest . |
ответ | Экземпляр класса HttpServletResponse |
вне | Экземпляр класса PrintWriter , используемый для вывода результатов на веб-страницу. |
сессия | Экземпляр класса HttpSession . |
приложение | Экземпляр класса ServletContext , связанный с контекстом приложения. |
конфигурация | Экземпляр класса ServletConfig |
Контекст страницы | Экземпляр класса PageContext , обеспечивающий доступ ко всем объектам и пространствам имен страницы JSP. |
страница | Подобно этому ключевому слову в классах Java |
Исключение | Объект класса Exception представляет соответствующий объект исключения на странице JSP, где произошла ошибка. |
JSP обеспечивает полную поддержку языка Java. Вы можете использовать Java API в программах JSP и даже создавать блоки кода Java, включая операторы оценки, операторы цикла и т. д.
Блок if…else, см. этот пример:
<%! int day = 3; %> <html> <head><title>IF...ELSE Пример</title></head> <body><% if (day == 1 | day == 7) { %> <p> Сегодня выходные</p><% } else { %> <p> Сегодня не выходные</p><% } %></body> </html>
После запуска я получаю следующие результаты:
Сегодня не выходные
Теперь давайте посмотрим на блок switch...case. Он сильно отличается от блока if...else. Он использует out.println() и полностью содержится в теге скрипта, например:
<%! int day = 3; %> <html> <head><title>Пример SWITCH...CASE</title></head> <body><% switch(day) { case 0: out.println( "Это воскресенье."); перерыв; случай 1: out.println("Это понедельник."); случай 2: out.println("Это вторник."); случай 3: out.println("Сегодня среда."); case 4: out.println("Сегодня четверг."); time 5: out.println("Сегодня пятница."); ); перерыв; default: out.println("Сегодня суббота."); %></body> </html>
После запуска получены следующие результаты:
Сегодня среда.
Оператор цикла
В программах JSP можно использовать три основных типа циклов Java: for, while и do... while.
Давайте рассмотрим пример цикла for:
<%! int fontSize; %> <html> <head><title>Пример цикла FOR</title></head> <body><%for ( FontSize = 1; FontSize <= 3; FontSize++){ %> < font color="green" size="<%= fontSize %>"> Учебное пособие по JSP </font><br /><%}%></body> </html>
После запуска я получаю следующие результаты:
Учебное пособие по JSP Учебное пособие по JSP Учебное пособие по JSPПерепишите приведенный выше пример, используя цикл while:
<%! int fontSize; %> <html> <head><title>Пример цикла WHILE</title></head> <body><% while ( fontSize <= 3){ %> <font color="green" size="<%= fontSize %>"> Учебное пособие по JSP </font><br /><%fontSize++;%><%}%></body> </html>
Я получаю тот же результат после запуска:
Учебное пособие по JSP Учебное пособие по JSP Учебное пособие по JSPJSP поддерживает все логические и арифметические операторы Java.
В следующей таблице перечислены распространенные операторы JSP в порядке приоритета:
категория | Оператор | ассоциативность |
---|---|---|
суффикс | () [] . (оператор точки) | слева направо |
один юань | ++ - - ! | справа налево |
Умножаемость | */% | слева направо |
Аддитивность | + - | слева направо |
сдвиг | >> >>> << | слева направо |
связь | > >= < <= | слева направо |
равный/неравный | == != | слева направо |
Бит И | & | слева направо |
Бит исключающее ИЛИ | ^ | слева направо |
немного или | | | слева направо |
логическое И | && | слева направо |
логичный или | || | слева направо |
Условное суждение | ?: | справа налево |
Назначение | = += -= *= /= %= >>= <<= &= ^= |= | справа налево |
запятая | , | слева направо |
Язык JSP определяет следующие константы:
Логическое значение: истина и ложь;
Целочисленный тип (int): такой же, как в Java;
Плавающее: то же, что и в Java;
Строка: начинается и заканчивается одинарными или двойными кавычками;
Ноль: ноль.