Пособие по написанию WAP-сайтов

       

Рассмотрение приложения Hotel Info



Рассмотрение приложения Hotel Info

При запуске приложения Hotellnfo WML-страница Hotellnfo.wml отображает списокгородов и выводит приглашение пользователю на выбор требуемого города. После выбора пользователем города выполняется ветвление программного кода ивыводится приглашение на выбор в городе определенной гостиницы. WML-страница Hotellnfo.wml реализуется с помощью следующего программного кода:

&lt?xml version="1.0"?&gt &lt!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"&gt

&ltwml&gt

&lthead&gt

&ltmeta http-equiv="Cache-Control" content="max-age=0" forua="true"/&gt

&lt/head&gt

&ltcard id="Hotel"&gt

&ltdo type="accept" label="Pick"&gt &ltnoop /&gt &lt/do&gt

&ltp align="center"&gt

Web Inns&ltbr/&gt

&lt/p&gt

&ltp align="left" mode="nowrap"&gt



&ltselect&gt

&ltoption onpick="#LasVegas"&gtLas Vegas&lt/option&gt &ltoption onpick="#LosAngeles"&gtLos Angeles&lt/option&gt &ltoption onpick="#Orlando"&gtOrlando&lt /option&gt &ltoption onpick="#SanFrancisco"&gtSan Francisco&lt/option&gt &ltoption onpick="#WashingtonDC"&gtWashington DC&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id="LasVegas"&gt

&ltdo type="accept" label="Pick"&gt &ltgo href="../waplibcgi/HotelAvailWML.pl ?$(HotelCode)" /&gt &lt/do&gt

&ltdo type="prev" label="City"&gt &ltprev /&gt &lt/do&gt

&ltp align="center"&gt

Web Inns&ltbr/&gt Las Vegas

&lt/p&gt

&ltp align="left" mode="nowrap"&gt




&ltselect name="HotelCode"&gt

&ltoption value="LVAirport"&gtAirport&lt/option&gt &ltoption value="LVNorth"&gtNorth&lt/option&gt &ltoption value="LVSouth"&gtSouth&lt/option&gt &ltoption value="LVCenter"&gtCity Center&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id="LosAngeles"&gt

&ltdo type="accept" label="Pick"&gt &ltgo href="../waplibcgi/HotelAvailWML.pl ?$(HotelCode)" /&gt &lt/do&gt

&ltdo type="prev" label="City"&gt &ltprev /&gt &lt/do&gt

&ltp align="center"&gt

Web Inns&ltbr/& gt Los Angeles

&lt/p&gt

&ltp align="left" mode="nowrap"&gt

&ltselect name="HotelCode"&gt

&ltoption value="LAAirport"&gtAirport&lt/option&gt &ltoption value="LANorth"&gtNorth&lt/option&gt &ltoption value="LASouth"&gtSouth&lt/option&gt &ltoption value="LACenter"&gtCity Center&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id="Orlando"&gt

&ltdo type="accept" label="Pick"&gt &ltgo href="../waplibcgi/HotelAvailWML.pl ?$(HotelCode)" /&gt &lt/do&gt

&ltdo type="prev" label="City"&gt &ltprev /&gt &lt/do&gt

&ltp align="center"&gt

Web Inns&ltbr/&gt Orlando

&lt/p&gt

&ltp align="left" mode="nowrap"&gt

&ltselect name="HotelCode"&gt

&ltoption value="ORAirport"&gtAirport&lt/option&gt &ltoption value="ORNorth"&gtNorth&lt/option&gt &ltoption value="ORSouth"&gtSouth&lt/option&gt &ltoption value="ORCenter"&gtCity Center&lt/option&gt



&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id="SanFrancisco"&gt

&ltdo type="accept" label="Pick"&gt &ltgo href="../waplibcgi/HotelAvailWML.pl ?$(HotelCode)" /&gt &lt/do&gt

&ltdo type="prev" label="City"&gt &ltprev /&gt &lt/do&gt

&ltp align="center"&gt

Web Inns&ltbr/&gt San Francisco

&lt/p&gt

&ltp align="left" mode="nowrap"&gt

&ltselect name="HotelCode"&gt

&ltoption value="SFAirport"&gtAirport&lt/option&gt &ltoption value="SFNorth"&gtNorth&lt/option&gt &ltoption value="SFSouth"&gtSouth&lt/option&gt &ltoption value="SFCenter"&gtCity Center&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id="WashingtonDC"&gt

&ltdo type="accept" label="Pick"&gt &ltgo href="../waplibcgi/HotelAvailWML.pl ?$(HotelCode)" /&gt &lt/do&gt

&ltdo type="prev" label="City"&gt &ltprev /&gt &lt/do&gt

&ltp align="center"&gt

Web Inns&ltbr/&gt Washington, DC

&lt/p&gt

&ltp align="left" mode="nowrap"&gt

&ltselect name="HotelCode"&gt

&ltoption value="DCAirport"&gtAirport&lt/option&gt &ltoption value="DCNorth"&gtNorth&lt/option&gt &ltoption value="DCSouth"&gtSouth&lt/option&gt &ltoption value="DCCenter"&gtCity Center&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&lt/wml&gt

Первые два элемента WML-страницы сообщают WAP-браузерам версию WAP-спецификации, которую поддерживает приложение. В данном случае WML-страница совместима с XML 1.0 и описанием типа документа (DTD) версии 1.1,разработанным ассоциацией WAP Forum.


Любая WML-страница, размещаемаяпосле информации о версии, начинается с тега <имя>. В конце каждой WML- страницы должен находиться соответствующий тег </WML>, который завершаетэлементы WML-страницы. Теги <НЕAD> и </HEAD>, располагающиеся после тега<WML>, позволяют указывать данные о WML-странице, включая метаданные и информацию, управляющую доступом. <oto\>

Элемент <meta> позволяет определять для WML-страницы метаинформацию. В нашем случае параметр http-equiv=Cache-Control сообщает WAP-браузеру, чтоданная часть метаинформации относится к системе кэширования памяти. Аналогично, параметр content=max-age=0 сообщает браузеру, что максимальное время, в течение которого должно выполняться кэширование WML-страницы, равнонулю секунд; то есть, браузер должен не запоминать, а повторно загружать данные с сервера каждый раз, когда поступает запрос. Для данной книги нулевоезначение было выбрано, чтобы помочь читателю в разработке программы. Привыборе нулевого значения каждый раз, когда происходит изменение, это изменение передается на телефон. В реально эксплуатируемом приложении статическое меню, подобное рассматриваемому здесь, по-видимому, должно использовать интервал хранения, установленный по умолчанию, равным 30 дням. Наконец, параметр forua="true" определяет, что данное значение Cache-Controlпредназначено для телефона и не должно удаляться каким-либо промежуточнымагентом

Для отображения списка городов WML-страница использует элемент <select>.После того как пользователь сделает свой выбор, происходит переход на находящуюся внутри WML-страницы локальную карту, которая выводит приглашениепользователю, опять с помощью элемента <select>, на выбор конкретной гостиницы. После выбора пользователем гостиницы приложение вызывает Perl-сценарий HotelAvailWML.pl, формирующий на экране приглашение пользователюна ввод данных о регистрации в гостинице.


Содержание раздела