Страницы:
0 1 2 3 4 5 6 7 8 9 |Все сразу|
Вызов скрипта
Без возможности производить различные операции с
информацией на сервере, WML остался бы просто средством форматированного вывода
текста. Добавление такой возможности, напротив, открывает любому
WAP-совместимому устройству пути передачи сообщений через Интернет,
промышленному использованию на предприятии и электронной коммерции.
WAP-совместимое устройство взаимодействуют с подобными источниками информации
через WAP-шлюз. Этот шлюз должен уметь взаимодействовать с различными
стандартами сотовой связи, такими как CDMA, GSM или GPRS. Однако, вполне
возможно установить тестовый шлюз в сочетании с популярными веб-серверами
(такими как MS IIS или Apache) прямо в вашей локальной сети. Мы не будем тут
сильно вдаваться в детали процесса установки шлюза, однако нельзя не
предостеречь вас от самой распространенной ошибки. Вам обязательно необходимо
добавить определения следующих типов в конфигурацию веб-сервера.
WML text/vnd.wap.wml wml WMLScript text/vnd.wap.wmlscript wmls |
|
Теперь мы рассмотрим небольшой
примерчик в котором пользователю будет предложено сделать выбор какой-то одной
опции а затем на основе этого выбора с сервера будет загружена определенная
информация. Для этого примера мы используем ASP. С тем же успехом мы могли
написать скрипт использую Javascript, Servlets, Perl или любой другой язык. В
следующем листинге приведен исходный код для нашей новой деки. В ней содержится
всего один элемент
<select>, который предлагает
пользователю выбор из нескольких опций. Элемент
<go> вызывает серверный скрипт с определенными
параметрами.
<?xml version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML
1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml"> <wml>
<card id="Order" title="Query Inventory">
<p> <select name="Items" title="Items">
<option value="Books">Books</option>
<option value="Music">Music</option>
<option value="Video">Video</option>
<option value="Software">Software</option>
</select> </p> <do
type="accept" label="Query"> <go
href="http://127.0.0.1/WML/Inventory.asp" method="post">
<postfield name="Items" value="$(Items)"/>
</go> </do>
</card> </wml> |
|
Скрипт показанный на листинге 3
обрабатывает полученную из деки информацию и выводит на экран результат.
<% Dim Body If Request.Form("Items") = "Books" Then Body
= "You selected Books!" ElseIf Request.Form("Items") = "Video" Then
Body = "You selected Video!" ElseIf Request.Form("Items") = "Software"
Then Body = "You selected Software!" ElseIf Request.Form("Items") =
"Music" Then Body = "You selected Music!" End
If Response.ContentType = "text/vnd.wap.wml"%> <?xml
version="1.0"?> <!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml"> <wml> <card> <p> <%Response.write(Body)%> </p> </card> </wml> |
|
Несколько вещей необходимо напомнить
для тех, кто захочет повторить этот пример в своих условиях. Вы обязательно
должны "зарегистрировать" MIME типы на своем сервере для того, чтобы файлы WML и
WMLScript правильно обрабатывались и отображались сервером.
.wml text/vnd.wap.wml .wmls text/vnd.wap.wmlscript |
|
Если вы хотите использовать картинки
(WBMP) вам также необходимо добавить и этот MIME-тип:
Страницы:
0 1 2 3 4 5 6 7 8 9 |Все сразу|