(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 Standard 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 Navigator Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
CAD Import .NET Professional пользовательская
VMware Workstation 14 Player for Linux and Windows, ESD
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
Реестр Windows. Секреты работы на компьютере
СУБД Oracle "с нуля"
Программирование на Visual С++
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100