グリッドに表示する必要がList
あるオブジェクトがあるとしますAccountVO
AccountVO{
bankCode; //which could be HSB,CITY
amout;
...
}
私が持っているリソースバンドルで
bank.name.HSB = The HSB Bank
bank.name.CITY = The CITY Bank
......
bank.name.HSB = بانک اچ اس بی
bank.name.CITY = بانک شهر
gridColumn
タグでグリッド名を動的に変更しようとしました。だから私はで使用getText
しましたgridColumn
<sjg:gridColumn name="%{getText('bank.name.'+bankCode)}" .... />
それは動かなかった。
生成されたコードを見ると、以下が見つかります。
options_gridtable_colmodels_بانک شهر = {};
options_gridtable_colmodels_بانک شهر.name = "بانک شهر";
options_gridtable_colmodels_بانک شهر.jsonmap = "بانک شهر";
ご覧のとおり、javascript 変数には i18n 名が含まれるようになりましたが、これは正しくありません。
これを解決するために、私は実際に使用getText
しています。例えば:
for(List<Account>: account ){
account.setI18nBankName( getText('bank.name.'+ account.getBankCode() ) );
}
今私は使用することができます:
<sjg:gridColumn name="i18nBankName" .... />
ご覧のとおり、余分なループといくつかのダミー プロパティが必要です。
もっと良い方法はありますか?!