We are using the s:select to show a list of string from resource bundle.

In the Action:

//bank codes will be something [12,13,14]
List<String> bankCodesList; //with setter and getter
String selectedBankCode;

In the message resources each bank will have a name:

bank.code.12= ALFM Bank
bank.code.13= RIHN Bank

....

In the JSP:

   <s:select name = "selectedBankCode" 
             list = "bankCodesList"         
          listKey = "toString()" 
        listValue = "%{getText('bank.code.' + toString())}" />

As the bank list is List<String> we used toString() to get the key and used toString() to get value from resource bundle.

I excepted to find the s:select has a status attribute same as s:iterator but I could not find any!

So you think there are better ways?!

有帮助吗?

解决方案

You don't need to call toString() in listKey attribute at all so you can remove this attribute. And in listValue you can use top keyword.

<s:select name = "selectedBankCode" 
          list = "bankCodesList" 
     listValue = "%{getText('bank.code.' + top)}" />

The top keyword is mentioned here and here in the examples.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top