© Copyright International Business Machines Corporation 2006. Все права защищены. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM® Corp.
Устарели и не рекомендованы к использованию:
- Данные клиента и связанные с ними инструменты (такие как представление Данные клиента)
- Компоненты клиента Faces
<odc:dataGrid>
(Таблица данных)<odc:webService>
(Web-служба)<odc:clientData>
<odc:clientBinder>
Дерево
<odc:tree>
и диаграмма<odc:graphDraw>
могут использовать Данные сервера.
Если вы импортируете приложение JSF более ранней версии, чем V7, без миграции JSF JARS продолжите разработку приложения, то новые для V7 теги не будут включены в файлы JAR проекта и не будут доступны во время выполнения. Выполните миграцию файлов JARS более ранней версии, чем V7.
Тег
<odc:treeNodeAttr>
управляющих элементов дерева использует для атрибута className разные значения при связывании с данными SDO и при связывании с данными WDO. Простейший способ исправить эту неполадку - удалить и создать заново все управляющие элементы дерева после переноса проекта с сервера, использующего WDO (такого как WebSphere® Application Server 5.1), на сервер, использующий SDO (такой как WebSphere Application Server 6.1).
Если в v6.0 для
<hx:commandExButton>
был установлен тип Submit, а также задана метка и только одно фоновое изображение (например,value="submit" image="button.gif"
), то выводилось только это изображение (а не изображение вместе с меткой). В версии 7.0 эта ошибка исправлена. Исправление означает, что в версии 7.0 кнопки, для которых заданы как метки, так и фоновые изображения, выводятся иначе, чем в версии 6.0.Аналогично, если для
<hx:commandExButton>
был указан типReset
, а также задано единственное фоновое изображение (или фоновое изображение и метка), то должно было выводиться только фоновое изображение, и кнопка рассматривалась как кнопка передачи на выполнение (тип кнопки игнорировался). В версии 7.0 эта ошибка исправлена. Исправление означает, что кнопки с типомReset
будут теперь сбрасывать страницу, а не передавать ее на обработку.
Атрибуты тега
<jspPanel>
style
иstyleClass
больше не доступны. Атрибуты не используются для вывода компонента панели JSP.При импорте приложения JSF, созданного в предыдущей версии этого продукта, теги
<jspPanel>
будут показывать ошибки. Для устранения ошибок удалите атрибутыstyle
иstyleClass
из всех тегов<jspPanel>
в проекте, исправив источник JSP на панели Источник.
При импорте в рабочую область проектов, созданных с помощью предыдущей версии продукта, может появится сообщение о том, что поддержка Faces установлена, но для проекта не выбрана целевая среда выполнения. В некоторых случаях это предупреждение не соответствует действительности, так как среда выполнения была правильно определена после завершения процесса перехода к новой версии. Для того чтобы проверить, выбрана ли среда выполнения, щелкните правой кнопки мыши на опции Проект > Свойства и выберите Целевые среды выполнения. Если переключатели рядом со всеми определенными серверами включены, никаких действий выполнять не требуется; в противном случае выберите один из серверов.
Примечание: действие по обходу выполнять не требуется, если модели данных клиента создаются или из одного узла данных страницы, или из узлов данных страницы с одинаковыми именами.
Если в версии 7.0 на одной странице есть несколько моделей данных клиента, созданных из одних и тех же классов EJB, то во время генерации (или повторной генерации) для второй модели ошибочно создается второй файл ecore и emap. В соответствии с руководством по переходу к новой версии, при переносе проектов данных клиента необходимо повторно генерировать модели данных клиента, что может повлиять на перенесенные проекты, страницы которых содержат несколько таких моделей. Можно использовать следующий простой сценарий:
- На основе EJB java.util.Date создайте два узла данных страницы, например, myDate1 и myDate2.
- Для каждого узла создайте модуль данных клиента с тем же именем в следующем порядке: сначала myDate1, а затем - myDate2.
Способ обхода неполадки: Для того чтобы обе модели на странице работали, удалите myDate2.ecore и myDate2.emap из пакета com.ibm.dynwdo4jsmediators и соответствующие записи - из файла OdysseyBrowserFramework.properties.
Компонент Данные клиента создает на странице вывод JavaScript™ большого объема. В предыдущих выпусках JavaScript не кодировался. Это значит, что если компонент Данные клиента применяется в нескольких портлетах, использующих один и и тот же источник данных страницы, то вывод JavaScript на странице будет одинаковым для всех портлетов.
По-видимому, такое поведение, когда два портлета связаны с компонентом Данные клиента, могло быть связано с одним и тем же объектом Данные клиента (поскольку второй раздел сценария JavaScript будет заменять первый). Это, в свою очередь, позволяет двум этим портлетам взаимодействовать, когда изменение в одном из них должно представляться в обоих.
Это проблематично, если требуется, чтобы на странице было несколько портлетов, использующих Данные клиента и работающих независимо друг от друга. Если на одной и той же странице есть два портлета, использующие Данные клиента с разными источниками Данных страницы, то возникают ошибки JavaScript. Это может привести к тому, что один из портлетов не будет показан.
Для того чтобы исправить эти неполадки и разрешить портлетам Данные клиента запускаться в WSRP, необходимо закодировать переменные JavaScript Данных клиента таким образом, чтобы они были уникальны для каждого портлета. В этом случае разделы JavaScript Данных клиента будут работать независимо друг от друга.
В V7.0 все данные клиента будут кодироваться.
Если Данные клиента должны быть общими для портлетов на странице, то следует изменить файл web.xml, указав следующие параметры контекста:
<context-param>
<param-name>com.ibm.faces.ENCODE_DATA</param-name>
<param-value>false</param-value>
<description></description>
</context-param>Задавая для <param-value> значение false, вы удаляете код для Данных клиента.
Применение параметра Encode_Data и его влияние на компоненты Диаграмма и Дерево данных, использующие Данные страницы
Диаграмма и Дерево данных используют данные страницы, помещая на страницу объект данных XML. Данные страницы для Диаграммы и Дерева данных тесно связаны с Данными клиента для этих компонентов. По умолчанию, эти данные кодируются. Если задать в файле web.xml показанный ниже параметр <context-param>, который обычно используется для отмены кодирования Данных клиента, то для Диаграммы и Дерева данных будет удалено кодирование Данных страницы. Это не повлияет на другие компоненты, использующие данные страницы. Однако, если на странице есть два портлета, содержащие диаграмму или Дерево данных, то отсутствие кодирования данных страницы может привести к неполадке. Могут возникать ошибки JavaScript, кроме того, один из портлетов может отображаться неправильно.
Как и в случае с Данными клиента, для кодирования этих данных (что позволяет двум портлетам на странице выполняться независимо друг от друга) и для включения поддержки WSRP необходимо удалить из файла web.xml параметр <context-param> или указать для <param-value> значение true:
<context-param>
<param-name>com.ibm.faces.ENCODE_DATA</param-name>
<param-value>true</param-value>
<description></description>
</context-param>
Если в начале страницы указано следующее:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
то Web-браузер переходит в режим вывода страницы, соответствующий стандартам. В стандартном режиме элементы
HTML
иbody
привязаны в своему содержимому, а не заполняют окно, как это происходит в традиционном (quirks) режиме вывода страницы (режим HTML по умолчанию).Если панель с закладками помещается на своей собственной странице с высотой, указанной в процентах, то это может привести к проблемам с высотой панели при выводе.
Для обхода этой неполадки поместите панель с закладками в контейнер с заданной высотой или измените doctype в начале страницы:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
В стандартном режиме существуют проблемы с выводом закладок, если указан следующий doctype:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Для исправления ситуации doctype необходимо изменить следующим образом:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Если установлен арабский тип календаря, то тег
<hx:convertDateTime>
генерирует неправильный JavaScript. В результате функция проверки на стороне клиента, запрос на ввод, вспомогательное приложение для вывода даты и миникалендарь работают неправильно. При инициализации созданного JavaScript появляется сообщение об ошибке (либо компонент работает неправильно).Способ обхода неполадки: Не включайте проверку на стороне клиента или запрос на ввод. Не включайте приложение для вывода даты, если с программой преобразования используется арабский календарь.
При выборе сервера WebSphere® в качестве целевой среды выполнения убедитесь, что для Web-проекта выбран фасет Web-проект WebSphere (сосуществование).
Способ обхода неполадки: Выберите фасет на второй странице мастера динамических Web-проектов (при создании проекта) или на странице Фасеты проекта в окне Свойства проекта (если проект уже существует). Если при создании Web-проекта, предназначенного для развертывания на сервере WebSphere, на первой странице мастера проекта из списка Конфигурации выбирается "Проект Faces" или "Динамический Web-проект с XDoclet", то автоматически будет выбран фасет Web-проект WebSphere (Сосуществование). Для выбора этого фасета можно перейти к следующей странице мастера. Если в списке Конфигурации выбрать пункт "<другая>", то фасет будет правильно выбран при выборе целевой среды выполнения WebSphere.
В том случае, когда в теге
<hx:dataTableEx>
указывается тег<hx:columnEx>
, и включена вертикальная прокрутка (задан атрибут scrollSize), а ширина одного или нескольких столбцов в таблице задана в процентах, то может не выполняться выравнивание заголовков и содержимого столбцов в выведенной таблице, если doctype данной страницы интерпретируется браузером как W3C standard (а не как W3C transitional). Это может произойти, например, в том случае, когда doctype включает объявлениеloose.dtd
.
Способ обхода неполадки: Установите фиксированную ширину столбцов (а не в процентах) или убедитесь, что doctype преобразуется вtransitional
doctype (например, удалите объявление loose.dtd).
Если для позиционирования (горизонтального или вертикального) в
<hx:panelDialog>
задано значениеrelative
, а тег, используемый в качестве базового (тег, относительно которого позиционируется окно диалога), находится на прокрученной странице, то есть тег находится на экране, а страница не прокручена к началу, то при показе окна диалога он может позиционироваться неправильно (обычно слишком далеко вверху или слишком далеко слева).Способ обхода неполадки: Если требуется относительное позиционирование, убедитесь, что базовый тег находится вблизи от начала страницы. Если относительное позиционирование не требуется, используйте один из других типов позиционирования.
Если таблица данных (или
<h:dataTable>
, или<hx:dataTableEx>
) помещена в панель с включенной поддержкой AJAX, и опция выбора строк включена (таблица содержит тег<hx:inputRowSelect>
), то при обновлении таблицы с помощью AJAX переключатели в столбце выбора будут работать неправильно. Переключатели работают правильно, только когда таблица выводится в первый раз.Способ обхода неполадки: В настоящее время не существует. Не помещайте таблицу в панель с включенной поддержкой AJAX.
Тег
<hx:ajaxExternalRequest>
может неправильно работать в браузере Internet Explorer (IE), если атрибут source, используемый для указания ИД панели, которую требуется извлечь, в целевой странице, отличается от ИД панели с тегом<hx:ajaxExternalRequest>
в исходной странице. Например,<hx:panel id="panel1"><hx:ajaxExternalRequest source="panel999" /><hx:panel>
. Эта неполадка возникает только в Internet Explorer, и только в том случае, если целевая панель - это сетка, рамка или макет (панель, которая выводится как таблица HTML).Способ обхода неполадки: Убедитесь, что идентификаторы одинаковы, или поместите целевую панель в panelGroup.
Атрибут
inProgresss
для тегов<hx:ajaxRefreshRequest>
,<hx:ajaxRefreshSubmit>
,<hx:ajaxExternalRequest>
и<hx:inputHelperTypeahead>
не работает. Задание значения для этого атрибута не приводит ни к каким результатам. Во избежание несовместимости с последующими выпусками не задавайте значение для этого атрибута.
Если к полю ввода прикреплен тег
<hx:inputHelperTypeahead>
, то при вводе в это поле пробела или знаков пунктуации (таких как амперсанд и знак процента) создаваемый список возможных вариантов конструируются не будет содержать ни одного "совпадения", включающего эти символы. Например, если пользователь введет %, то не будет возвращено ни одного совпадения, даже если в используемом "словаре" есть слова, начинающиеся с символа %.
В Firefox, начиная с версии 1.5.0.8, изменилось поведение некоторых атрибутов. Это может привести к неправильному выводу
panelDialog
в Firefox. Как правило, неполадка проявляется при относительном позиционировании окна диалога, но может возникать и в других случаях, когда размер содержимого тела "меньше", чем высота окна браузера (то есть когда страница не прокручивается вертикально).Способ обхода неполадки: Добавьте содержимое в тело (например, может быть достаточно пробела, такого как <div> с заданной высотой; это зависит от точных размеров окна браузера и содержимого страницы).
<hx:pagerDeluxe>
выводит неправильный текст HTML, если для styleClass указан не класс по умолчаниюpagerDeluxe
, а какой-то другой класс. Кнопки в пейджере всегда выводятся с именами классов, которые используют указанное в них имя класса по умолчанию.Способ обхода неполадки:
- Не изменяйте имя класса pagerDeluxe никаким другим именем.
- Если используется другое имя класса, измените CSS, применяемый для учета имен классов, которые выводятся на кнопках.