カスタムタグライブラリを作成したいが、ハンドラクラスで整数属性を使用したいと思う。JSPカスタムタグ属性タイプ整数
は、私は次のコードを持っている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ファイル内の属性の種類を指定していないし、そして文字列である必要があり、それをデフォルト。私はこのようなエラーが出るけれども:<type>java.lang.Integer</type>
とsetterメソッドに:
Unable to find setter method for attribute: x
を私はまたに属性の種類を変更しようとしている
public void setX(int x) {
}
と私は同じエラーを取得します。
setterエラーが発生しないように、tldファイルとハンドラクラスのセッタで属性を定義する方法を教えてください。
getterの戻り値の型をStringに変更するとどうなりますか? –
同じエラー:xのセッターはありません。 –
すべての型が一致しますか(getter return、setter param、TLDで入力)? –