カスタムタグライブラリを作成したいのですが、ハンドラークラスに整数属性が必要です。
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ファイルで属性タイプを指定していません。デフォルトでは文字列である必要があります。このようなエラーが発生しますが:
Unable to find setter method for attribute: x
また、属性タイプを次のように変更し<type>java.lang.Integer</type>
、setterメソッドを次のように変更してみました。
public void setX(int x) {
}
そして、私は同じエラーを受け取ります。
セッターエラーが発生しないように、tldファイルの属性とハンドラークラスのセッターをどのように定義すればよいですか?