Извлечение значений полей в формах JSP

Библиотеки JSLT и EL позволяют легко обрабатывать данные, полученные из форм, так как JSP-страница имеет доступ к неявному объекту param, который состоит из объектов типа java.util.Map.Entry, что позволяет обращаться к данным как к парам «ключ-значение».

В следующем примере в документе params.jspx производится извлечение значений параметров, передаваемых из страницы form.jspx.

<!–пример # 21 : страница, которая выводит форму и передает данные
странице param.jspx: form.j
spx –>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"

xmlns:c="http://java.sun.com/jsp/jstl/core"

version="2.0">

<jsp:directive.page contentType=

"text/html; charset=Utf-8" />

<html><head><title>Форма для заполнения</title></head>

<body>

<form action="params.jspx">

Введите, пожалуйста, ваши данные: <br/>

Фамилия: <input type="text" name="fname" value="" /><br/>

Имя: <input type="text" name="lname" value="" /><br/>

E-mail: <input type="text" name="e-mail" value="" /><br/>

<input type="submit" value="Отправить" /><br/>

</form>

</body></html>

</jsp:root>

clip_image002

Рис. 19.1. Документ для задания и передачи параметров

<!–пример # 22 : считывание информации и генерация ответа : params.jspx –>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"

xmlns:c="http://java.sun.com/jsp/jstl/core"

version="2.0">

<jsp:directive.page contentType=

"text/html; charset=Utf-8" />

<html><head><title>Обработка данных</title></head>

<body>

Вывод данных с помощью JSTL и EL<br/>

<c:forEach var="items" items="${param}">

<b><c:out value="${items.key}"></c:out></b>:

<c:out value="${items.value}"></c:out><br/>

</c:forEach>

<c:if test="${not empty param.fname}">

<b>Имя:</b><c:out value="${param.fname}"/><br/>

</c:if>

<c:if test="${not empty param.lname}">

<b>Фамилия:</b><c:out value="${param.lname}"/>

</c:if>

</body></html>

</jsp:root>

В результате работы документа в браузер будет выведено:

Вывод данных с помощью JSTL и EL
lname: Балаганов
fname: Шура
e-mail: balaganov@gmail.com
Имя: Шура

Фамилия: Балаганов

В вышеприведенном примере с помощью тега c:forEach перебираются все данные, полученные из формы. Так же можно выводить отдельные параметры, обращаясь к ним с помощью EL. Конструкция ${param.lname} возвращает значение параметра lname.

С помощью тега jsp:forward можно добавлять данные к запросу.

<!–пример # 23: добавление параметра add_param и перенаправление запроса
к странице form.jspx:
forward.jspx –>

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"

version="2.0">

<jsp:directive.page contentType=

"text/html; charset=Utf-8" />

<html><head><title>Добавление параметра</title></head>

<body>

<jsp:forward page="params.jspx">

<jsp:param name="addparam" value="added"/>

</jsp:forward>

</form>

</body></html>

</jsp:root>

Если обратиться к этой странице, передавая в строке запроса параметры (напри­мер http://localhost:8082/FirstJSP/forward.jspx?name=UserName), то, кроме этих параметров, странице param.jspx будет передан параметр addparam со значением added.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100