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


Подробнее о приложении CurrencyConvert.wml - часть 3


&lt/head&gt


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


Далее, дека определяет карту CurrencyConvert, которая использует элемент <select> для отображения списка доступных валют. После того как пользовательпроизвел выбор желаемой валюты, происходит переход к соответствующей карте, находящейся внутри этой же деки. К примеру, если выбрана валюта США, висходном коде происходит переход к карте GetUSDollar. Внутри этой карты используется элемент <lnput> для ввода суммы валюты, и затем запускается сценарий CurrencyConvertWML.pl, который и производит непосредственно вычисления. Этот сценарий языка Perl содержит следующий исходный код:

#!/usr/bin/perl

$Buffer = $ENV{'QUERY_STRING'};

@data = split(/&/, $Buffer);

$Currency = $data[0]; $Value = $data[1];

$DollarToEuro = .971032; $DollarToPound = .607327; $DollarToYen = 105.555;

$EuroToDollar = 1.02982; $EuroToPound = .625449; $EuroToYen = 108.702;

$PoundToDollar = 1.64649; $PoundToEuro = 1.59887; $PoundToYen = 173.814;

$YenToDollar = .00947277; $YenToEuro = .00919888; $YenToPound = .00575343;

if ($Currency eq "USDollar") { $USDollar = $Value; $Euro = (int(($Value * $DollarToEuro) * 100)) / 100; $UKPound = (int(($Value * $DollarToPound) * 100)) / 100; $JapanYen = (int(($Value * $DollarToYen) * 100)) / 100; }




Начало  Назад  Вперед