【问题标题】:Struts 2 s:select with values from resource bundleStruts 2 s:使用资源包中的值进行选择
【发布时间】:2014-05-06 12:34:36
【问题描述】:

我们使用s:select 显示资源包中的字符串列表。

在行动中:

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

在消息资源中每个银行都会有一个名字:

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

....

在 JSP 中:

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

由于银行列表是List&lt;String&gt;,我们使用toString() 获取密钥并使用toString() 从资源包中获取价值。

我发现s:select 具有与s:iterator 相同的status 属性,但我找不到!

所以你认为有更好的方法吗?!

【问题讨论】:

  • 不知道你为什么会这样; &lt;s:select&gt; 是独立的。它不会暴露它的迭代。就个人而言,我认为您应该在 Java 层的某个地方构建这些数据,并通过操作或帮助程序将其提供给标签。
  • 状态?为什么需要状态?使用top 关键字。
  • +1 @AleksandrM 谢谢!你在哪里找到这个关键字?!我搜索了很多!

标签: jsp struts2 ognl struts-tags


【解决方案1】:

您根本不需要在listKey 属性中调用toString(),因此您可以删除此属性。在listValue 中可以使用top 关键字。

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

示例中提到了top 关键字herehere

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-01
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    • 2015-02-05
    • 2014-06-09
    相关资源
    最近更新 更多