Enum型をSelectコンポーネントの値に使う時のOptionのラベルをカスタマイズする
次のEnum型を使います。Screencast#4に出てくるSelectコンポーネントと同じものです。
public enum Sex { MALE, FEMALE, REFUSES_TO_SAY }
また、次の Start.html, Start.java をそれぞれ用意します。
<html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd"> <head> <title>myapp Start Page</title> </head> <body> <form t:type="form" clientValidation="false"> <t:errors/> <label t:type="label" for="sex"/> <select t:type="select" t:id="sex" value="sex"/> <input t:type="submit"/> </form> </body> </html>
public class Start { @Persist private Sex _sex = Sex.REFUSES_TO_SAY; public Sex getSex() { return _sex; } public void setSex(Sex sex) { _sex = sex; } }
実行するとこのようなセレクトボックスが表示されます。
ここで、Start_ja.properties に次の内容を追加します。
sex-label=性別 sex.male=男性 sex.female=女性 sex.refuses_to_say=無回答
すると、このように表示されます。
つまり、メッセージカタログに「Enum型の名前.Enum定数名=Optionのラベル」という書式で記述しておけば良いのです。便利ですね。
- 出版社/メーカー: 貝印(Kai Corporation)
- メディア: ホーム&キッチン
- 購入: 1人 クリック: 6回
- この商品を含むブログ (7件) を見る