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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JSP custom tags in FTL 
:(
    Опции темы
kodlan
Дата 25.10.2007, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.7.2007
Где: http://www.UltraS harpWare.com/

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



Привет!
Я создал несколько компонентов с использованием jsp custom tags. Но таги написаны не как отдельные класи а как jsp файлы с розширением .tag. Типа в таге пишу 

Код

<%@ attribute name="step" required="true" %>
<%@ attribute name="locale" required="true"%>
...


а использую как 
Код

<%@ taglib tagdir="/WEB-INF/tags/" prefix="t"%>


Проблема в том что созданые компоненты нужно использовать и в FTL.
Я делаю следующее:
Создал tld файл:
Код

<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
    version="2.0">

  <description>HomePageCoupon Tag library</description>
  <display-name>HomePageCoupon content tags</display-name>
  <tlib-version>1.0</tlib-version>
  <short-name>coupon</short-name>
  <uri>WEB-INF/tld/coupon.tld</uri>


  <tag-file>
    <name>steps</name>
    <path>steps.tag</path>
  </tag-file>
</taglib>


и потом использую в FTL:
Код

<#assign coupon=JspTaglibs["/WEB-INF/tld/coupon.tld"]>

<@coupon.steps step="1" locale=userData.locale/>


Вроде все делаю как написано http://freemarker.org/docs/pgui_misc_servlet.html

но все равно получаю ексепшн:
Код

on line 328, column 1 in cores/cs_homepage3.ftl coupon.steps not found. The problematic instruction: ---------- ==> user-directive coupon.steps[on line 328, column 1 in cores/cs_homepage3.ftl] in include pageCore.templatePath [on line 13, column 26 in themes/chromesteel/templates/chromesteel.ftl] ---------- Java backtrace for programmers: ---------- freemarker.core.InvalidReferenceException: on line 328, column 1 in cores/cs_homepage3.ftl coupon.coupon not found. at freemarker.core.UnifiedCall.accept(UnifiedCall.java:136) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.include(Environment.java:1375) at freemarker.core.Include.accept(Include.java:155) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.ConditionalBlock.accept(ConditionalBlock.java:79) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.MixedContent.accept(MixedContent.java:92) at freemarker.core.Environment.visit(Environment.java:196) at freemarker.core.Environment.process(Environment.java:176) at freemarker.template.Template.process(Template.java:232) at


Отличее только в том что мои таги написаны на JSP а не отдельными класами.
Может у кого-нибуть есть идеи что я делаю не так?
Заранее спасибо.
PM MAIL WWW ICQ   Вверх
AlexeyVorotnikov
Дата 25.10.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Приведите полностью описание ваших тегов. У вас есть тег steps?


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
kodlan
Дата 25.10.2007, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.7.2007
Где: http://www.UltraS harpWare.com/

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



Цитата(AlexeyVorotnikov @ 25.10.2007,  13:34)
Приведите полностью описание ваших тегов. У вас есть тег steps?

Код тега steps:
Код

<%@ attribute name="step" required="true" %>
<%@ attribute name="locale" required="true"%>

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<fmt:setLocale value="${locale}"/>
<fmt:setBundle basename="com.versata.fdds.i18n.FDDSResourceBundle"/>



<div class="Step1-content-steps" width="100%">

    <c:choose>
        
        <c:when test="${step eq 1}">
            <fmt:message key="maint.dealer.homepageCoupon.content.step1of3"/>
        </c:when> 
        <c:when test="${step eq 2}">
            <fmt:message key="maint.dealer.homepageCoupon.content.step2of3"/>
        </c:when> 
        <c:when test="${step eq 3}">
            <fmt:message key="maint.dealer.homepageCoupon.content.step3of3"/>
        </c:when>
        
    </c:choose>
    <br><div class="InstructionText"><fmt:message key="maint.dealer.homepageCoupon.content.qualify"/></div>
    
</div>

PM MAIL WWW ICQ   Вверх
kodlan
Дата 25.10.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.7.2007
Где: http://www.UltraS harpWare.com/

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



Кажется я уже нашел ответ:
Цитата

The current FreeMarker release doesn't support some JSP 2 features yet, like tag files. The next one (2.3.11), however, support JSP up to JSP 2.1. You can get it here: http://freemarker.sourceforge.net/hotfix/freemarker.jar 
It would be nice if you test it. This jar should be nearly as stable as 2.3.10, except that the new JSP support is not tested by users yet.


PM MAIL WWW ICQ   Вверх
AlexeyVorotnikov
Дата 25.10.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



упс... я тут читал-читал разные доки, а ларчик просто открывался smile
Так в версии 2.3.11 оно работает?


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
kodlan
Дата 25.10.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.7.2007
Где: http://www.UltraS harpWare.com/

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



Ща буду пытаться запустить с новой версией
PM MAIL WWW ICQ   Вверх
kodlan
Дата 25.10.2007, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.7.2007
Где: http://www.UltraS harpWare.com/

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



Нет всеравно не работает  smile 
Буду еще пытаться. Проект здоровенный, может что-то и забыл сделать
PM MAIL WWW ICQ   Вверх
AlexeyVorotnikov
Дата 25.10.2007, 16:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А в какой директории лежит файл coupon.tld? Проверьте, что он лежит в папке, которая указана в
Код

<#assign coupon=JspTaglibs["/WEB-INF/tld/coupon.tld"]>


Далее, по спецификации JSP 2.0, в описании теглиба в coupon.tld путь к тег-файлу должен быть полный, т.е. /WEB-INF/tags/steps.tag.
Ну и нужно удостовериться, что он там именно и лежит.

К тому же я в steps.tag не вижу директивы <%@ tag %>.

Добавлено через 46 секунд
А в JSP этот тег работает?

Добавлено через 3 минуты и 1 секунду
Ещё одну ошибочку заметил: в coupon.tld должно быть
Код

<uri>/WEB-INF/tld/coupon.tld</uri>



--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
kodlan
Дата 25.10.2007, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.7.2007
Где: http://www.UltraS harpWare.com/

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



Я все делал как написано в Sun Java 2EE Tutorial там вообще тага <%@ tag %> нет.
 smile   smile 

Цитата

Далее, по спецификации JSP 2.0, в описании теглиба в coupon.tld путь к тег-файлу должен быть полный, т.е. /WEB-INF/tags/steps.tag.
Ну и нужно удостовериться, что он там именно и лежит.

Дело в том что в моем проекте несколько частей и они шарать несколько фолдеров.
Я так толком и не разобрался где оно ищет эти таги. Закинул во все web-inf'ы  smile 

Цитата

А в JSP этот тег работает?

Да работает.

 smile

Добавлено через 2 минуты и 7 секунд
Цитата

Ещё одну ошибочку заметил: в coupon.tld должно быть

Я пробовал и с слешем и без, результат тот сам
PM MAIL WWW ICQ   Вверх
AlexeyVorotnikov
Дата 25.10.2007, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня идеи кончились...
Может, это всё-таки глюк FreeMarker'а?..


--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
kodlan
Дата 25.10.2007, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 25.7.2007
Где: http://www.UltraS harpWare.com/

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



Щас буду создавать чистый проект и начинать разбираться с самого начала  smile 
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0825 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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