Man bedenke, dass ich ein List
von AccountVO
bezwecken dieWie getText in Grid-Namen von Struts 2 jquery Raster verwenden pluing
AccountVO{
bankCode; //which could be HSB,CITY
amout;
...
}
In Ressourcenbündel in Raster angezeigt werden, muss ich
bank.name.HSB = The HSB Bank
bank.name.CITY = The CITY Bank
......
bank.name.HSB = بانک اچ اس بی
bank.name.CITY = بانک شهر
haben Ich habe versucht, den Grid-Namen in gridColumn
Tag dynamisch zu ändern. so habe ich getText
in gridColumn
<sjg:gridColumn name="%{getText('bank.name.'+bankCode)}" .... />
Es funktionierte nicht.
Wenn ich den generierten Code zu sehen finde ich unten:
options_gridtable_colmodels_بانک شهر = {};
options_gridtable_colmodels_بانک شهر.name = "بانک شهر";
options_gridtable_colmodels_بانک شهر.jsonmap = "بانک شهر";
Wie Sie die JavaScript-Variablen jetzt die i18n Namen haben in ihnen sehen kann, was nicht korrekt ist.
Um dies zu lösen, verwende ich getText
in Aktion. Zum Beispiel:
for(List<Account>: account){
account.setI18nBankName( getText('bank.name.'+ account.getBankCode()));
}
Jetzt kann ich verwenden:
<sjg:gridColumn name="i18nBankName" .... />
Wie Sie ich brauche zusätzliche Schleife und eine Dummy-Eigenschaft zu sehen.
Gibt es einen besseren Weg ?!
Der bessere Weg ist, einen Builder auf das Modell anzuwenden und Schlüssel mit den tatsächlichen Namen zu ersetzen. Sie müssen sich viel Mühe beim Schreiben eines Builders geben, der verwendet wird, um Modellvariablevariablen für die bereitgestellten Nachrichtenformate zu durchlaufen. –
Haben Sie versucht, die 'Bezeichnung' anstelle des' Namens' zu setzen? –
@DaveNewton, ich habe das gleiche Problem. name ist obligatorisch für gridColumn und die einstellung der label hilft mir nicht. – Sima