Взаимодействие с HTML- формами
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

• Элементы HTML-управления должны находиться в форме.

• Для формы указывается адрес для перехода.

• Значения элементов ввода записываются в параметры запроса.

• В новой странице значения элементов ввода автоматически не заполняются.

• Элемент управления, активация которого привела к смене страницы, вносится в параметры запроса.

Пример 26.Взаимодействие с HTML -формами.

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@page import="java.util.*" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html>

<form name="SimpleForm" action="index.jsp">

<input type="text" name="NameEditor" value="" size="30" />

<input type="checkbox" name="SomeCheckBox" value="ON" />

<br>

<input type="submit" value="Action 1" name="Action1Button" />

<input type="submit" value="Action 2" name="Action2Button" />

</form>

<% Enumeration names = request.getParameterNames();

   if (names.hasMoreElements()) {

       String name = null;

       String value = null;%>

<table border="1">

<thead>

<tr>

<th>Parameter name</th>

<th>Parameter value</th>

</tr>

</thead>

<tbody>

<% while (names.hasMoreElements()) {

       name = (String) names.nextElement();

       value = request.getParameter(name);%>

<tr>

<td><%=name%></td>

<td><%=value%></td>

</ tr >

<% }%>

</ tbody >

</ table >

<% } %>

</ html >

Рисунок 7 – Форма при первом запуске.

Адрес:http://host:8080/WebApplication1/index.jsp

Рисунок 8 – Форма после нажатия кнопки.

Адрес:  http://localhost:8080/WebApplication1/index.jsp?NameEditor=
Any+entered+text&SomeCheckBox=ON&Action2Button=Action+2

Недостатки раннего JSP:

• Смешение Java-кода и тегов страницы.

• Много «типовых» действий.

• «Некомфортность» работы на Java в ходе обработки запросов из-за:

l Громоздкости кода.

l Необходимости знания особенностей преобразования в сервлет.Основные идеи смены парадигмы:

• Альтернативный языкExpression Language.

• Использование библиотек тегов, особенно JSTL – JSP Standard Tag Library.

• Ориентация на компоненты в смысле JavaBeans и использование понятия свойств.

• Общие принципы остаются прежними.


Пример 27. Как писали раньше

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title></head><body>

<h1>Hello page</h1><br/>

<% if (request.getParameter("name") != null) {

out.print("<b>Hello, ");

out.print(request.getParameter("name"));

out.println("!</b><br/>");

} %>

<form name="oldform" action="old.jsp">

What's your name?<br>

<input type="text" name="name" value="" size="50" />

<input type="submit" value="Tell name" name="tell" />

</ form ></ body ></ html >

Пример 28. Как пишут теперь

<%@ taglibprefix =" c " uri =" http :// java . sun . com / jsp / jstl / core "%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd">

<html><head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>JSP Page</title></head><body>

<h1>Hello page</h1><br/>

<c:if test="${!empty param.name}" var="val" scope="request">

<b>Hello, ${param.name}!</b><br/>

</c:if>

<form name="oldform" action="old.jsp">

What's your name?<br>

<input type="text" name="name" value="" size="50" />

<input type="submit" value="Tell name" name="tell" />

</form>

</body></html>

Expression Language

• Является альтернативой выражениям и скриптлетам.

• Динамическое чтение данных из:

l JavaBeans-компонентов.

l Неявных объектов.

l Различных структур данных.

• Динамическая запись данных в:

l Формы.

l JavaBeans-компоненты.

• Вызов статических и публичных методов.

• Динамическое выполнение простых операций.

Виды выражений EL

• По моменту вычисления:

l Немедленное вычисление.

l Отложенное вычисление.

• По цели выражения:

l Обращение к данным.

l Вызов метода.

• По режиму доступа:

l Только чтение.

l Чтение и запись данных.

Дата: 2019-02-19, просмотров: 311.