Я хочу создать собственную библиотеку тегов, но в классе обработчика мне бы хотелось иметь целочисленные атрибуты.
В файле TLD у меня есть следующий код:
<tag>
<name>circle</name>
<tag-class>draw.Circle</tag-class>
<body-content>jsp</body-content>
<attribute>
<name>x</name>
<required>true</required>
</attribute>
</tag>
есть и другие целочисленные атрибуты, но этот пример относится и к другим.
Класс обработчика, на данный момент выглядит так:
public class Circle extends TagSupport{
private Integer x;
public Integer getX() {
return x;
}
public void setX(String x) {
this.x = Integer.parseInt(x);
System.out.println("Set x");
}
}
Я не указал тип атрибута в файле tld, и по умолчанию он должен быть String. Хотя я получаю ошибку, подобную этой:
Unable to find setter method for attribute: x
Я также попытался изменить тип атрибута на: <type>java.lang.Integer</type>
и метод установки на:
public void setX(int x) {
}
И я получаю ту же ошибку.
Как определить атрибут в файле tld и установщик в классе обработчика, чтобы я не получил ошибку установщика?