Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> TagLibrary 
V
    Опции темы
Unlimited
  Дата 11.5.2007, 03:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 9.7.2003
Где: Германия

Репутация: нет
Всего: нет



Привет Всем!!!

вот такая проблемка, я написал TagLibrary , которая должна определённых слов в тексте знак TradeMark ™ рядом вставлять. Но почему пр вызове myJsp.jsp не вставляет рядом со словами "JavaServer Pages " знак ТМ.
 Поный текст приведён ниже.
Где моя ошибка?

Заранее благодарен!!!


Код



****learn.tld

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//SUN Microsystem, Inc.//DTD JSP Tag Library 1.1//EN"
    "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">

<taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>learn</shortname>
    <info>Tag Library für Lernzwecke</info>

    <tag>
        <name>jspTM</name>
        <tagclass>tags.JspTM</tagclass>
        <bodycontent>JSP</bodycontent>
        <info>INFO</info>
        <attribute>
            <name>tradeMark</name>
            <required>true</required>
            <rtexprvalue>false</rtexprvalue>
        </attribute>
    </tag>
</taglib>


*** myJsp.jsp

<%@ taglib uri="/WEB-INF/classes/tags/learn.tld" prefix="learn"%>
<html>
    <head>
        <title>JspDateFormat mit Attribute</title>
    <head>
    <body>
        <learn:jspTM tradeMark="JavaServer Pages" />
        
        Lernen Sie die JavaServer Pages -Technologie kennen!</br>
        

    </body>
<html>



**** Kod JspTM.java

Код



import javax.servlet.jsp.*;

public class JspTM extends BodyTagSupport {
    private String tradeMark;

    public String getTradeMark() {
        return tradeMark;
    }

    public void setTradeMark(String tradeMark) {
        this.tradeMark = tradeMark;
    }

    public int doAfterBody() throws JspException {
        try {
            BodyContent bodyContent = getBodyContent();
            String body = bodyContent.getString();

            // ***
            StringBuffer bodyBuffer = new StringBuffer();
            int beginIndex = 0;
            int oldIndex = 0;
            while ((beginIndex = body.indexOf(tradeMark, oldIndex)) > -1) {
                beginIndex = beginIndex + tradeMark.length();
                bodyBuffer.append(body.substring(oldIndex, beginIndex));
                bodyBuffer.append("<sup>TM</sup>");
                if (beginIndex > -1) {
                    oldIndex = beginIndex;
                }
            }
            bodyBuffer.append(body.substring(oldIndex));

            // ***

            bodyContent.getEnclosingWriter().print(bodyBuffer.toString());
        } catch (java.io.IOException ioe) {
            throw new JspException("Error: IOException "
                    + "beim Schreiben in out -" + ioe.getMessage());

        }
        return SKIP_BODY;
    }

}



PM MAIL   Вверх
Devorior
Дата 11.5.2007, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 1.8.2002
Где: Обнинск

Репутация: 1
Всего: 3



я из приведенного вообще не понял где заведены слова после которых TM должно появлятся. Видимо не весь код скинут
PM MAIL ICQ   Вверх
Unlimited
Дата 11.5.2007, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 9.7.2003
Где: Германия

Репутация: нет
Всего: нет



в файле  myJsp.jsp (строки 35-37)--> "Lernen Sie die JavaServer Pages -Technologie kennen!" после слов "JavaServer Pages"  

Это сообщение отредактировал(а) Unlimited - 11.5.2007, 10:25
PM MAIL   Вверх
Unlimited
Дата 14.5.2007, 00:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 9.7.2003
Где: Германия

Репутация: нет
Всего: нет



 никто не может мне ответить? 
PM MAIL   Вверх
Maksym
Дата 14.5.2007, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Unlimited
Попробовал добавить твой тэг в свой текущий проект на первую страницу, все собралось, запустилось, но в дебаге управление в doAfterBody() у меня не попадает. Пробовал дебажить? у тебя тело метода отрабатывает?
PM MAIL   Вверх
Unlimited
Дата 14.5.2007, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 9.7.2003
Где: Германия

Репутация: нет
Всего: нет



Maksym

Здравствуй, если я понял у тебя работает,  но в дебаге управление в doAfterBody() у тебя не попадает.?

Добавлено через 1 минуту и 2 секунды
что  у меня не правильно
Код

*** myJsp.jsp

<%@ taglib uri="/WEB-INF/classes/tags/learn.tld" prefix="learn"%>
<html>
    <head>
        <title>JspDateFormat mit Attribute</title>
    <head>
    <body>
        <learn:jspTM tradeMark="JavaServer Pages" />
        
        Lernen Sie die JavaServer Pages -Technologie kennen!</br>
        

    </body>
<html> 
 



 
PM MAIL   Вверх
Maksym
Дата 14.5.2007, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 19.8.2005
Где: Odessa, Black Sea

Репутация: 24
Всего: 62



Unlimited
Не то что бы работает.. страница с тегом jspTM собирается и загружается.. но код из doAfterBody() не отрабатывает. Просто сейчас, к сожалению, нет времени разбираться детальнее..  smile 
Почти наугад.. вот так не пробовал:
Код

<learn:jspTM tradeMark="JavaServer Pages">
        Lernen Sie die JavaServer Pages -Technologie kennen!
</learn:jspTM>
?
PM MAIL   Вверх
Unlimited
Дата 14.5.2007, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 207
Регистрация: 9.7.2003
Где: Германия

Репутация: нет
Всего: нет



 Maksym

спасибо большое за помощь, так получилось!!!
 я забыл тег </learn:jspTM>
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0506 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.