Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Дейтел Х.М. -> "Технологии профаммирования на Java 2 Книга 3" -> 116

Технологии профаммирования на Java 2 Книга 3 - Дейтел Х.М.

Дейтел Х.М. , Дейтел П.Дж., Сантри С.И. Технологии профаммирования на Java 2 Книга 3 — М.: Бином-Пресс, 2003. — 672 c.
ISBN 5-9518-0051-Х
Скачать (прямая ссылка): tehprogrammjava220033.pdf
Предыдущая << 1 .. 110 111 112 113 114 115 < 116 > 117 118 119 120 121 122 .. 271 >> Следующая

Organizations that develop software must often produce versions customized to a variety of computers and operating systems. These Ups offer suggestions to make jour applications more portable.
Correct
Tip Name
Portability Tip
Tip Description
Next Tip
Рис. 5.13. Окно с результатом ответа на вопрос теста Tip-Test в Internet Explorer
Разработка приложений для беспроводной связи на базе Java и J2ME
263
5.3.2. Запрос от браузера WAP
Если изначальный get-запрос сервлету TipTestServlet (рис. 5.9) был сделан имитатором Openwave UP, в строках 202-214 определяется, что обратившийся с запросом клиент — это WAP-клиент. В строках 205—208 осуществляется вызов метода createXMLTipTestQuestion для создания XML-документа, который содержит вопрос теста Tip-Test. Используя параметры для этого метода, мы задаем, что рисунки для рубрик советов имеют формат wbmp и расположены в каталоге WAP/images контекста сервлета. В строке 211 задается МГМЕ-тип text/vnd.wap.wml для создания WML-содержимого. В строках 212-213 вызывается метод applyXSLT для применения таблицы стилей WAPTipQu.estion.xsl (рис. 5.14) к XML-документу.
1 <?xml version="1.0"?>
3 <! —' WAPTipQuestion.xsl —>
4 <і — таблица Стилей для клиента HAP —>
6 <xsl: stylesheet
7 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
8 version="1.0"> 9
10 <xsl:output method = "xml" отіt-xml-declaration = "no"
11 doctype-system = "http://www.wapforum.0rg/DTD/wml_l.l.xml"
12 doctype-public = "-//WAPFOROM//DTD WML 1.l//EN"/> 13
14 <!— задание корня XML-документа, —>
15 <•— указывающего на эту таблицу стилей -->
16 <xsl: template match = "guestion"> 17
18 <wml>
19 <card id = "cardl" title = "Tip Test"> 20
21 <do type = "accept" label = "0K">
22 <go href = "#card2"/>
23 </do> 24
25 <p>
26 <img src = "{image}" height = "55" width = "55"
27 alt = "Tip lmage"/>
28 </p>
30 </card>
31
32 <card id = "card2" title = "Tip Test">
33 <do type = "accept" label = "Submit">
34 <go method = "post" href = "/advjhtpl/tiptest">
35 <postfield name = "userAnswer"
36 value = "$(question)"/>
37 </go>
38 </do> 39
40 <p>
41 The tip shown on the previous screen is called:
42 </p> 43
. 44 <p>
264
Глава 5
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
<select name = "question iname = "iquestion" v
stion" іvalue = "1">
<option value select = "i
= "0"Xxsl:value-of choices/choice[1] "/X/option>
<option value select = "'
_ "i"xxsi; value-of choices/choice[2] "/X/option>
<option value select = "
= "2"Xxsl:value-of choices/choice [3] "/X/option>
<option value select = "' </select>
= "3"Xxsl:value~of choices/choice[4] "/X/option>
</p> </card> </wml>
63 </xsl:template>
64 </xsl: stylesheet>____
Рис. 5.14. Таблица стилей WAPTipQuestion.xsl трансформирует вопрос теста Tip-Test в формате XML в WML-документ
В листинге на рис. 5.14 в строках 10-12 с помощью элемента xsI:outpnt задается DTD. В строке 16 указывается, что элемент question является корневым элементом XML-документа, который будет подвергнут трансформации с помощью таблицы стилей WAPTipQuestion.xsl. XML-документ начинается в строке 18 элементом wml. В строках 19—30 осуществляется объявление первой карты, или страницы, которая хранит WML-содержимое, отображаемое браузером. В строках 26-27 отображается рисунок, ассоциированный с элементом image XML-документа. Элемент do (строки 21-23) информирует имитатор, что вторую карту следует показать, когда пользователь нажимает кнопку ОК. В строках 52-61 объявляется вторая карта, на которой содержатся четыре возможных ответа. При помощи элементов choice в элементе choices, в строках 45—59 создается список, который содержит варианты ответов. Элемент do (строки 33-38) указывает имитатору, что сделанный пользователем выбор следует отправить в сервлет TipTestServlet, когда пользователь нажимает кнопку Submit.
На рис. 5.15 показано экран теста Tip-Test после применения сервлетом TipTestServlet XSLT-трансформации к XML-документу. На рисунке слева показано условное изображение для рубрики советов, на рисунке справа показан выбор ответа пользователем.
Каждый пункт в списке для выбора содержит уникальное значение. Когда пользователь нажимает кнопку Submit, имитатор UP отправляет (с помощью метода post) выбранное значение сервлету TipTestServlet. Сервлет TipTestServlet (рис. 5.9) вызывает метод doPost, когда получает отправленные методом post данные. В строках 132—144 определяется, что запрос поступил от имитатора Openwave UP. В строках 135-136 осуществляется вызов метода createXMLTipTestAnswer для создания XML-документа, который информирует, является ли ответ пользователя правильным, содержит название рубрики советов и ее описание для правильного ответа, а также URL сервлета TipTestServlet. В строке 139 устанавливается MIME-тип text/vnd.wap.wml для создания WML-содержимого, а в строках 157-158 вызывается метод applyXSLT для применения к XML-документу таблицы стилей WAPTipAnswer.xsl (рис. 5.16).
Разработка приложений для беспроводной связи на базе Java и J2ME
265
Рис. 5.15. Экран имитатора Openwave UP с вопросом теста Tip-Test. (Изображение UP.SDK предоставлено компанией Openwave Systems Inc. Openwave, логотип Openwave и UP.SDK являются торговыми марками корпорации Openwave Systems Inc. Все права соблюдены.)
Предыдущая << 1 .. 110 111 112 113 114 115 < 116 > 117 118 119 120 121 122 .. 271 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100