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

       

Подробнее о приложении MortgageCalculator



Подробнее о приложении MortgageCalculator

Когда пользователь запускает приложение MortgageCalculator, декаMortgageCalc.wml предлагает пользователю ввести значение основной суммы,ссудный процент и количество лет на выплату ссуды. Далее, приложение запускает сценарий языка Perl (файл MortgageCalcWML.pl). Дека 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="#CalcPayments" /&gt &lt/do&gt

&ltp align="center"&gt

Mortgage Calculator&ltbr/&gt

&lt/p&gt



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

&ltselect&gt

&ltoption onpick="#GetPrincipal"&gtPrincipal: $$$(Principal)&lt/option&gt &ltoption onpick="#GetInterest"&gtInterest(%): $(Interest)&lt/option&gt &ltoption onpick="#GetYears"&gtYears: $(Years)&lt/option&gt

&lt/select&gt

&lt/p&gt

&lt/card&gt

&ltcard id="GetPrincipal"&gt

&ltdo type="accept"&gt &ltgo href="#MortgageCalc" /&gt &lt/do&gt

&ltp align="left"&gt

Principal: $$ &ltinput name="Principal" maxlength="7" format="NNNNNN*N" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id="GetInterest"&gt

&ltdo type="accept"&gt &ltgo href="#MortgageCalc" /&gt &lt/do&gt




&ltp align="left"&gt

Interest(%): &ltinput name="Interest" maxlength="5" format="NN.NN" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id="GetYears"&gt

&ltdo type="accept"&gt &ltgo href="#MortgageCalc" /&gt &lt/do&gt

&ltp align="left"&gt

Years: &ltinput name="Years" maxlength="2" format="NN" /&gt

&lt/p&gt

&lt/card&gt

&ltcard id="CalcPayments"&gt

&ltonevent type="onenterforward"&gt

&ltgo method="post" href="../waplibcgi/MortgageCalcWML.pl"&gt &ltpostfield name="Principal" value="$(Principal)&"/&gt &ltpostfield name="Interest" value="$(Interest)&"/&gt &ltpostfield name="Years" value="$(Years)"/&gt &lt/go&gt

&lt/onevent&gt

&lt/card&gt

&lt/wml&gt

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

&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

Далее, за информацией о версиях, каждый WML-файл начинается с тега <wml>. Вконце каждого файла вводят </wml>, что означает окончание исходного кодаприложения. За <wml> следуют теги <head> и </head>, внутри которых находитсяинформация о самом исходном коде, включая метаданные и информацию обуправлении доступом. Многие программисты называют метаданные «данными оданных». Другими словами, в этом случае метаданные, которые считывает и обрабатывает браузер, сообщают ему, как трактовать данные.



&lthead&gt

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

&lt/head&gt

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

Приложение использует индивидуальные карты в деке для основной суммы,ссудного процента и количества лет. Внутри основной карты деки находитсяэлемент <Select> для предоставления пользователю возможности выбрать элемент, который он хочет редактировать. Далее, внутри соответствующей карты,приложение использует элемент <lnput> для возможности ввода пользователемзначения. В элементе <Input> Д|9Л? f011!3* определяет формат данных, принимаемых приложением.

После ввода и подтверждения пользователем необходимых значений, приложение вызывает карту CalcPayment, из которой запускается сценарий языка PerlMortgageCalcWML.pl.


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