【问题标题】:Spring MVC best way to populate drop down list - properties file?Spring MVC 填充下拉列表的最佳方法 - 属性文件?
【发布时间】:2010-11-10 23:25:12
【问题描述】:

我想填充一个下拉列表,我不想继续访问数据库。 我正在考虑将我的国家/地区列表或语言列表放在属性文件中。这样我就可以读入它,然后将其分配给一个变量。然后我可以通过 ModelAndView 类型返回它。

这是一个好方法吗?我不确定如何存储静态数据。我不想将它保留在课堂上,因为如果需要更改它会更难更新。

【问题讨论】:

  • +1,很好的问题。也适用于州/省等。
  • 如何在技术上做到这一点?拥有一个包含所有国家名称的长长的巨大财产?我知道在 Spring 3 中可以使用 @Value 将其读入代码中。我认为这应该是一个静态调用,因为我们不希望每次都发生这种情况……整个读取和分配……我仍然想知道最好的方法是什么……如何在静态中读取数据?有人可以建议并留下代码示例。谢谢...

标签: file spring-mvc drop-down-menu properties


【解决方案1】:

有答案了! 如果我有一个国家或语言列表,任何静态的,我可以在我的 spring 上下文文件中包含它:

<util:map id="countryList" map-class="java.util.HashMap">
    <entry key="CA" value="Canada"/>
    <entry key="US" value="United States"/>
    <entry key="PK" value="Pakistan"/>
    <entry key="UE" value="UAE"/>
</util:map>

等等。

我会在我的 ModelAndView 中注入国家/地区列表(或者我认为您甚至可以直接访问它而无需将其放入 ModelAndView 因为它在全球 Spring 上下文中)

然后在我的 jsp 中渲染 ${countryList} -
<form:select path="country">
&lt;form:option value="NONE" label="--- Select ---"/&gt;
&lt;form:options items="${countryList}" /&gt;
</form:select>

选项字段应自动呈现。那是最重要的,我现在要试试这个!! 谢谢!!

【讨论】:

    【解决方案2】:

    您也可以将此数据存储在数据库中并使用缓存,例如ehCache。由于它们存储在数据库中,因此可以轻松更新它们,并且每次您需要此信息时,缓存都会避免进入数据库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 2015-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      相关资源
      最近更新 更多