カスタム タグで複数の属性を使用しようとしています。
<mytaglib:mytag firstname="Thadeus" lastname="Jones" />
TagHandler コードの属性にアクセスするにはどうすればよいですか?
カスタム タグで複数の属性を使用しようとしています。
<mytaglib:mytag firstname="Thadeus" lastname="Jones" />
TagHandler コードの属性にアクセスするにはどうすればよいですか?
パラメータにアクセスするには、TagHandler クラスでプライベート メンバーを定義し、アクセサ メソッドを提供する必要があります。
public class TagHandler extends TagSupport {
private String firstName;
private String lastName;
public void setFirstName(String firstname) { firstName = firstname; }
public void setLastName(String lastname) { lastName = lastname;}
}
その後、TagHandler 変数を介してパラメーターにアクセスできます。
public int doStartTag() throws JspException {
pageContext.getOut().print(lastName + ", " + firstName);
}
それでも問題が解決しない場合は、命名規則を再確認してください。Java インターピーターは、setter メソッドが何であるかを推測しようとしています。したがって、パラメーターが「FirstName」の場合、set メソッドは「setFirstName」である必要があり、パラメーターが「lastname」の場合、set パラメーターは「setlastname」である必要があります。標準の Java 命名規則であるため、前者に従うことをお勧めします。
あなたが尋ねたことへの答えではありませんが、私は TagHandler が嫌いです (つまり、書いたことはありません) が、tag filesは大好きです。jsp ファイルを使用してカスタム タグを記述できます。あなたはおそらくそれらについて知っていて、利用可能/適用可能ではありませんが、念のため言及したいと思いました.