У меня есть тег <filter:filters>
и тег <filter:filter>
. Это пользовательские теги JSP. Есть ли способ указать, что тег <filter:filter>
нельзя использовать изолированно и что его можно использовать только как дочерний элемент тега <filter:filters>
?
Есть ли способ ограничить использование пользовательского тега, чтобы его можно было использовать только в определенном теге?
Ответы (1)
Похоже, что для этого не существует декларативного/ДВУ способа.
JSP 2.0 позволяет вам реализовать транслятор времени перевода, расширив класс javax.servlet.jsp.tagext.TagLibraryValidator и реализуя сообщение проверки.
Вы также можете сделать это во время выполнения с помощью метода SimpleTag.getParent() и создать исключение, если родитель имеет неправильный тип.
Это может выглядеть примерно так:
public void doTag() {
if (!(getParent() instanceof Filters))
throw new Exception("A filter can only be used inside a filters tag.");
}
person
John Finlay
schedule
05.10.2011
Я думаю, это единственный способ! Хотелось бы, чтобы был способ указать схему с помощью пользовательского XSD.
- person Vivin Paliath; 07.10.2011