Учебники

WML — Задачи

Задача WML — это элемент, который задает действие, которое должен выполнять браузер, а не что-либо, что должно отображаться. Например, действие перехода на новую карту представлено элементом задачи <go>, а действие возврата к предыдущей посещенной карте представлено элементом задачи <prev>. Элементы задачи инкапсулируют всю информацию, необходимую для выполнения действия.

WML предоставляет следующие четыре элемента для обработки четырех задач WML, называемых задачами go, pre task, refresh task и noop taks.

Задача <go>:

Как следует из названия, задача <go> представляет действие перехода на новую карту.

Элемент <go> поддерживает следующие атрибуты:

атрибут Значение Описание
HREF URL Дает URL новой карты. Относительные URL разрешены относительно текущей карты
метод
  • получить
  • сообщение
Определяет метод, который должен использоваться для извлечения колоды. Это должно быть одно из значений get или post, соответствующее методам GET и POST HTTP.

При использовании method = «get» данные отправляются как запрос с? данные добавлены к URL. Недостаток метода заключается в том, что его можно использовать только для ограниченного объема данных, и если вы отправите конфиденциальную информацию, она будет отображаться на экране и сохраняться в журналах веб-сервера. Поэтому не используйте этот метод, если вы отправляете пароль и т. Д.

При методе = «post» данные отправляются как запрос, а данные отправляются в теле запроса. Этот метод не имеет ограничений, и конфиденциальная информация не видна в URL

sendreferer
  • правда
  • ложный
Если установлено значение true, браузер отправляет URL-адрес текущей колоды вместе с запросом. Этот URL отправляется как относительный URL, если это возможно. Цель этого состоит в том, чтобы позволить серверам выполнять простое управление доступом на палубах, основываясь на том, какие колоды связываются с ними. Например, при использовании HTTP этот атрибут отправляется в заголовке HTTP Referer.
Accept-кодировок charset_list Задает разделенный запятыми или пробелами список наборов символов, которые могут кодировать данные, отправляемые на сервер в запросе POST. Значением по умолчанию является «неизвестно».
учебный класс данные класса Устанавливает имя класса для элемента.
Я бы идентификатор элемента Уникальный идентификатор элемента.

При использовании method = «get» данные отправляются как запрос с? данные добавлены к URL. Недостаток метода заключается в том, что его можно использовать только для ограниченного объема данных, и если вы отправите конфиденциальную информацию, она будет отображаться на экране и сохраняться в журналах веб-сервера. Поэтому не используйте этот метод, если вы отправляете пароль и т. Д.

При методе = «post» данные отправляются как запрос, а данные отправляются в теле запроса. Этот метод не имеет ограничений, и конфиденциальная информация не видна в URL

Ниже приведен пример, демонстрирующий использование элемента <go>.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
       Chapter 2 : <go href="chapter2.wml"/>
   </anchor>
</p>
</card>
</wml>

Другой пример, показывающий, как загрузить данные с помощью метода Get

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
      Using Get Method 
      <go href="chapter2.wml?x=17&y=42" method="get"/>
   </anchor>
</p>
</card>
</wml>

Другой пример, показывающий, как загрузить данные с помощью элемента <setvar>.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
      Using setvar:
	  <go href="chapter2.wml"> 
	      <setvar name="x" value="17"/> 
  	      <setvar name="y" value="42"/> 
	  </go>
   </anchor>
</p>
</card>
</wml>

Другой пример, показывающий, как загрузить данные с помощью элемента <postfiled>

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="GO Element">
<p>
   <anchor>
      Using setvar:
	  <go href="chapter2.wml" method="get"> 
              <postfield name="x" value="17"/>
              <postfield name="y" value="42"/>
	  </go>
   </anchor>
</p>
</card>
</wml>

Задача <prev>:

Задача <prev> представляет действие возврата к ранее посещенной карте в стеке истории. Когда это действие выполняется, верхняя запись удаляется из стека истории, и эта карта отображается снова после того, как вступили в силу любые назначения переменных <setvar> в задаче <prev>.

Если предыдущий URL не существует, указание <prev> не имеет никакого эффекта.

Элемент <prev> поддерживает следующие атрибуты:

атрибут Значение Описание
учебный класс данные класса Устанавливает имя класса для элемента.
Я бы идентификатор элемента Уникальный идентификатор элемента.

Ниже приведен пример, демонстрирующий использование элемента <prev>.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Prev Element">
<p>
   <anchor>
        Previous Page :<prev/>
   </anchor>
</p>
</card>
</wml>

Одной из ситуаций, когда может быть полезно включить переменные в задачу <prev>, является страница входа в систему, которая запрашивает имя пользователя и пароль. В некоторых ситуациях может потребоваться очистить поле пароля при возврате к карточке входа в систему, заставляя пользователя повторно вводить ее. Это можно сделать с помощью такой конструкции, как:

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Prev Element">
<p>
   <anchor>
        <prev>
           <setvar name="password" value=""/>
        </prev>
   </anchor>
</p>
</card>
</wml>

Задача <refresh>:

Задача <refresh> — это самая простая задача, которая действительно что-то делает. Его эффект заключается в простом выполнении присваивания переменных, заданных его элементами <setvar>, а затем повторное отображение текущей карты с новыми значениями. Задачи <go> и <prev> выполняют одно и то же действие непосредственно перед отображением новой карты.

Задача <refresh> чаще всего используется для выполнения какого-либо действия по «сбросу» на карте.

Элемент <refresh> поддерживает следующие атрибуты:

атрибут Значение Описание
учебный класс данные класса Устанавливает имя класса для элемента.
Я бы идентификатор элемента Уникальный идентификатор элемента.

Ниже приведен пример, демонстрирующий использование элемента <refresh>.

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.2//EN"
"http://www.wapforum.org/DTD/wml12.dtd">

<wml>

<card title="Referesh Element">
<p>
   <anchor>
         Refresh this page:
          <go href="test.wml"/>
          <refresh>
            <setvar name="x" value="100"/>
          </refresh>
   </anchor>
</p>
</card>
</wml>

Задача <noop>:

Цель задачи <noop> — ничего не делать (без операции).

Единственное реальное использование для этой задачи в связи с шаблонами

Элемент <noop> поддерживает следующие атрибуты:

атрибут Значение Описание
учебный класс данные класса Устанавливает имя класса для элемента.
Я бы идентификатор элемента Уникальный идентификатор элемента.

Ниже приведен пример, демонстрирующий использование элемента <noop>.