При попытке использовать пользовательскую библиотеку тегов JSP у меня есть переменная, определенная в JSP, которую я хотел бы оценить перед передачей в библиотеку тегов. Тем не менее, я не могу заставить его работать. Вот упрощенная версия моей JSP:
<% int index = 8; %>
<foo:myTag myAttribute="something_<%= index %>"/>
Метод doStartTag()
моего TagHandler
использует выходной поток pageContext для записи на основе введенного атрибута:
public int doStartTag() {
...
out.println("Foo: " + this.myAttribute);
}
Тем не менее, вывод, который я вижу в моей окончательной разметке:
Foo: something_<%= index %>
вместо того, что я хочу:
Foo: something_8
Мое определение библиотеки тегов для атрибута:
<attribute>
<name>myAttribute</name>
<required>true</required>
</attribute>
Я попытался настроить атрибут с rtexprvalue
и true
и false
, но ни один из них не сработал. Есть ли способ настроить атрибут так, чтобы он оценивался перед отправкой в обработчик? Или я совершенно не прав?
Я относительно новичок в тегах JSP, поэтому я открыт для альтернатив для решения этой проблемы. Кроме того, я понимаю, что использование скриплетов в JSP не одобряется, но я работаю с некоторым унаследованным кодом здесь, так что я пока застрял с ним.
Edit:
Я также пробовал:
<foo:myTag myAttribute="something_${index}"/>
, который тоже не работает - он просто выводит something_${index}
.