2014-01-21 3 views
0

У меня есть пользовательский тег. Он работает правильно, но совсем не работает. Моя jsp выглядит следующим образом:Пользовательские теги весной

<test:myTag>${headHunter.salary}</test:myTag> 

Где ${headHunter.salary} некоторое значение. И тег:

public int doAfterBody() throws JspException { 
    String content = bodyContent.getString(); 
    try { 
     JspWriter out = bodyContent.getEnclosingWriter(); 
     out.print(content);   
    } catch (Exception e) { 
    } 
    return SKIP_BODY; 
} 

Так что если ${headHunter.salary} равен 10, тег должен возвращать то же значение. Но он возвращает только "${headHunter.salary}" как строку. Что не так?

UPD

taglib.tld:

<?xml version="1.0" encoding="UTF-8"?> 
<taglib> 
    <tlibversion>1.0</tlibversion> 
    <shortname></shortname> 
    <jspversion>1.1</jspversion> 
    <tag> 
     <name>myTag</name> 
     <tagclass>net.babobka.blog.tags.CurrencyTag</tagclass> 
     <bodycontent>tagDependent</bodycontent> 
    </tag> 
</taglib> 
+0

У вас есть EL включен? –

+0

Я не знаю, о чем вы говорите. Что такое EL? – Tony

+0

О, вы имеете в виду SpEL? – Tony

ответ

1

Избавьтесь от

<bodycontent>tagDependent</bodycontent> 

Он должен по умолчанию в scriptless. It seems tagDependent prevents EL from being resolved.

+0

Кажется, что это круто. Я пытаюсь. – Tony

+0

@Tony Обратите внимание, что могут быть другие последствия. Пройдите [это] (http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPTags5.html) для настройки пользовательских тегов. –

Смежные вопросы