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

       

Рассмотрение приложения MortgageScript.wml



Рассмотрение приложения MortgageScript.wml

При запуске приложения MortgageScript, WML-страница MortgageScript.wml выводит на экран приглашение пользователю на ввод основной суммы кредита, процентной ставки и количества лет. Внутри WML-страницы приложение реализуеткаждое поле ввода в виде ссылки на функцию, находящуюся в WMLScript-файле.Когда пользователь выбирает какую-либо ссылку, приложение вызывает функцию, которая, в свою очередь, выводит приглашение пользователю на ввод соответствующих данных.

После ввода пользователем данных и выбора кнопки Calc (Расчет) приложениеактивизирует находящуюся в WMLScript-файле функцию CalcPayments, котораявыполняет расчет и выводит на экран сумму закладной. WML-страницаMortgageCalc.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="MortgageCalc"&gt

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

&ltdo type="options" label="Calc"&gt &ltgo href="MortgageScript.wmls#CalcPayments()" /&gt &lt/do&gt

&ltp align="center"&gt

Mortgage Calculator&ltbr/&gt

&lt/p&gt

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

&lta href="MortgageScript.wmls#GetPrincipal()" title="Edit"&gtPrincipal: $$$(Principal)&lt/a&gt &lta href="MortgageScript.wmls#GetInterest()" title="Edit"&gtInterest(%): $(Interest)&lt/a&gt &lta href="MortgageScript.wmls#GetYears()" title="Edit"&gtYears: $(Years)&lt/a&gt&ltbr/&gt Payment: $$$(Payment)




&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>, который завершаетэлементы WML-страницы. Теги <HEAD> и </НЕМ», располагающиеся после тега<WML>, позволяют указывать данные о WML-странице, включая метаданные и информацию, управляющую доступом.

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

Обработка, выполняемая WML-страницей, на самом деле достаточно прямолинейна - большая часть работы реализуется программным кодом на WMLScript. Если вы просмотрите WML-страницу, то обнаружите, что в ней имеется много ссылок, подобных приводимой ниже. Эта ссылка активизирует функцию, находящуюся в отдельном WMLScript-файле:

<go href="MortgageScript.wmls#CalcPayments()" />

В данном случае элемент отдает браузеру команду выполнить ветвление и перейти к функции CalcPayments, находящейся в файле MortgageScript.wmls. После того как функция выполнит обработку, для которой она предназначена, управлениевозвращается в текущее место программного кода. Как уже упоминалось ранее,функция CalcPayments рассчитывает и отображает сумму закладной.


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