- PR -

Annotationの値に日本語文字列を設定した場合のJavaDoc

1
投稿者投稿内容
DSCH
常連さん
会議室デビュー日: 2005/10/23
投稿数: 24
投稿日時: 2006-08-05 11:41
Annotationの値に日本語文字列を設定してJavaDocを作成すると、
値の表示が16進数文字コードの表示なっています。
これを回避する方法をご存知の方はいらっしゃいますか?

小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-06 12:24
日本語を含む文字列をnative2asciiでUnicode表記に変化して
指定したりするとどうでしょうか。試したことないんですが。
※表示された16進文字も合わせて書き込んだ方が返信してもらい
やすいと思います。
DSCH
常連さん
会議室デビュー日: 2005/10/23
投稿数: 24
投稿日時: 2006-08-06 22:05
小僧さん、返答ありがとうございます。
例を示すと下記のようになります。
JavaDocでのアノテーションの値に現れる文字列は、
native2asciiでUnicode表記に変換したのと同一の文字列のようです。
小僧さんの指摘通りに日本語文字列の代わりに、
Unicode表記で値を指定してみましたが結果は同じでした。

●アノテーション
コード:

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface SomeAttribute {
String value();
}


●クラス
コード:

public class ExampleClass {
@SomeAttribute("あいうえお")
public String FieldWitAnnotation;
}


●JavaDocの表示(スラッシュは円記号です。)
FieldWitAnnotation
@SomeAttribute(value="\u3042\u3044\u3046\u3048\u304a")
public java.lang.String FieldWitAnnotation

[ メッセージ編集済み 編集者: DSCH 編集日時 2006-08-06 22:07 ]

[ メッセージ編集済み 編集者: DSCH 編集日時 2006-08-06 22:07 ]
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2006-08-07 13:12
Unicode表記にされる仕様のようですね。
生成前の小細工では手を打てないようなので、変換後のHTML内の
Unicode文字列をAntなどを噛ませて置換するというのはどうでし
ょう。部分抽出、変換、置換の仕組みは考えないといけないと
思うんですが。
日本語はあきらめた方がよいかもしれませんね。


1

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