(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Report Template Builder: усовершенствование HTML-отчета с помощью Java

Введение

После того, как HTML-отчет создан и сохранен с помощью Report Template Builder, для изменения его внешнего вида в него могут вноситься многочисленные изменения. Для этого уместно использовать Java-сценарии, создание которых намного проще, нежели это может показаться на первый взгляд.

Создание активных URL с Java-сценариями

В настоящее время и AllFusion ERwin Data Modeler, и AllFusion Process Modeler выводят содержимое UDP в виде текстовых полей даже в случае HTML-кодирования.

Например:

Если для UDP используется значение

http://www.ca.com

Report Template Builder обрабатывает его как простой текст со следующим результатом:

Даже если в качестве значения для UDP использовать строку HTTP-кода вида

<a href="http://www.ca.com" target="_blank">Computer Associates</a>

Report Template Builder все равно выполнит преобразование в простой текст, переводя '<' в '<' и '>' в '>', в результате чего браузер вновь не распознает данную запись как гиперссылку. Результат будет выглядеть следующим образом:

Конечно, можно изменить HTML-код после создания отчета, чтобы "оживить" ссылку, но при этом потребуется вносить изменения в каждый URL по отдельности, что практически неприемлемо с точки зрения временных затрат для отчета, содержащего большое число UDP.

Метод

Чтобы решить эту проблему, введем в отчет Java-сценарий. Сценарий выполнит сканирование объектной модели документа (DOM, Document Object Model) отчета и преобразует каждую строку, которая начинается с символов "http://" из формата простого текста в истинную гиперссылку.

Для этого в Report Footer отчета (В Report Template Builder в режиме создания или редактирования шаблона отчета зайти в меню Edit\Properties\Footer) следует добавить следующий код:

<script language="JavaScript" type="text/javascript">
str1 = new String('<font><a href="');
str2 = new String('">');
str3 = new String('</a></font>');
counter = 2;
max = document.getElementsByTagName("FONT").length
do {

mycel=document.getElementsByTagName("FONT").item(counter);
if (mycel.innerHTML != '') {

myceltext=mycel.firstChild.nodeValue;
if (myceltext != null) {

if (myceltext.indexOf("http") == 0){

x = str1.concat(myceltext, str2, myceltext, str3);
x = x.replace(">http://",">")
mycel.outerHTML = x;

}

}

}
counter = counter + 1;

} while (counter < max)
</script>

Поскольку Report Builder преобразовывает UDP в следующий HTML-код

 
 <TD ALIGN=LEFT VALIGN=TOP BGCOLOR=#ffffff>

 <FONT SIZE=2 COLOR=#000000 FACE='Times New Roman'>http://www.ca.com</FONT></TD></TR>

приведенный ранее фрагмент должен просканировать данный HTML-код на предмет всех вхождений тегов FONT, проверить, не начинается ли вложенный текст с символов "http://" и затем заменить простой текст тегом.

Обратите внимание, что фактически сканируется не HTML-код, а модель DOM, в которой находится HTML-код. Кроме того, происходит не замена HTML-кода, а изменение свойств соответствующей модели DOM.

Если приведенный выше сценарий включен в Report Footer, он будет выполняться при каждой загрузке отчета в браузер и изменять внутреннюю объектную модель отображаемой HTML-страницы. Эта измененная внутренняя модель будет обрабатываться браузером и отображаться для просмотра пользователем. Иными словами, пользователь увидит реальную гиперссылку в том виде, в каком она была изменена, хотя в соответствующем HTML-коде она по-прежнему будет представлена как простой текст.

Заключение

Рассмотренный случай представляет собой лишь один небольшой пример возможностей использования Java-сценариев для усовершенствования выходного HTML-кода в Report Builder. Существует множество других возможностей. Экспериментируйте!

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 01.02.2007 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
erwin Data Modeler Navigator Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
erwin Data Modeler Workgroup Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
erwin Data Modeler Standard Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
Delphi Professional Named User
Quest Software. SQL Navigator for Oracle
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
СУБД Oracle "с нуля"
Краткие описания программ и ссылки на них
Компьютерная библиотека: книги, статьи, полезные ссылки
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100