- PR -

カスタムタグでclass属性

1
投稿者投稿内容
death
会議室デビュー日: 2005/06/15
投稿数: 15
投稿日時: 2006-12-28 17:47
jspのカスタムタグクラス内でclass属性を指定することは出来ますか?

今、カスタムタグクラス内で

private String csClass;

public void setClass(String clazz) {
this.csClass = clazz;
}

記述しています。

エラーが発生し、
属性 class のsetterメソッドが見つかりません
と表示されます。


詳しい方よろしくお願いします。


[ メッセージ編集済み 編集者: death 編集日時 2006-12-28 17:47 ]
あしゅ
ぬし
会議室デビュー日: 2005/08/05
投稿数: 613
投稿日時: 2006-12-28 18:05
classというプロパティは、java.lang.Object#getClass()という
メソッドが定義されているため、自分で新たに定義する事はできません。

java.lang.Class型の読み込み専用プロパティになってしまいます。

java.beans.IntrospectorのstopClassを引数に受け取るgetBeanInfo()を使って
オブジェクトを解析すれば可能なのですが、JSPコンテナの修正が必要でしょう。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-12-28 18:21
Strutsのタグライブラリの実装ではclass属性ではなくstyleClass属性にしていますね。
参考までに。
death
会議室デビュー日: 2005/06/15
投稿数: 15
投稿日時: 2006-12-29 11:28
かつのりさん、あしゅさん回答ありがとうございます。

class属性はまずいのですね。

某大企業が作成したフレームワークのカスタムタグにclass属性
が含まれていて、そこでエラーが発生しておりました。

バクと考えますね。
1

スキルアップ/キャリアアップ(JOB@IT)