Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Невозможно использовать атрибуты в пользовательских тегах jsp

Автор вопроса: user2471158Ответов: 1

Я разрабатываю обработчик пользовательских тегов в jsp, который принимает один атрибут с именем "ваше имя". Файл .tld и файлы обработчиков тегов содержат одно и то же имя атрибута (я также проверил этот случай). Но каким-то образом, когда я запускаю веб-приложение, я получаю исключение. В сообщении об исключении говорится: "Атрибут yourname недействителен для тега sayhello в соответствии с TLD".

Это информация тега в файле tld.

<tag>
<name>sayhello</name>
<tag-class>check.PrintTagHandler</tag-class>
<body-content>scriptless</body-content>
<attribute>yourname</attribute>
</tag>

Это имя свойства в bean-компоненте.

private String yourname;

это звонок

<hello:sayhello yourname="ABC"/>

Объявление тега:

<%@taglib prefix="hello" uri="/WEB-INF/tlds/newtag_library2"%>

Вроде бы все правильно, но я получаю исключение.

Пожалуйста, помогите.

  • установлен ли геттер-сеттер для атрибута yourname? Bhushan Kawadkar 27.06.2013
  • @BhushanKawadkar: Да, они на месте. Когда я не использую атрибут, он работает нормально. Он печатает приветственный ноль. Проблема в том, что я использую атрибут. user2471158 27.06.2013

jspjstlcustom-tag

Ответы

Ответ 1 · user2471158

Простите всех..

tld должен был быть таким.

<attribute>
<name>yourname</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>

вместо

<attribute>yourname</attribute>

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы