2010-11-10 54 views
5

我想填充一个下拉列表,我不想继续到数据库。 我正在考虑在属性文件中包含我的国家/地区列表或语言列表。这样我可以读取它,然后将其分配给一个变量。然后我可以通过ModelAndView类型返回它。Spring MVC填充下拉列表的最佳方式 - 属性文件?

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

+0

+1,优秀的问题。也可以为像州/省这样的事情工作。 – 2010-11-10 23:26:51

+0

这怎么可能在技术上完成?有一个很长的巨大财产与所有的国名?我明白在Spring 3中可以使用@Value读入代码。我认为这应该是一个静态调用,因为我们不希望每一次都发生这种情况......整个阅读和分配....我仍然想知道最好的方法是什么....如何读取静态数据?有人可以建议并留下代码示例。谢谢... – logixplayer 2010-11-11 05:18:53

回答

3

得到了答案! 如果我得到了国家或语言的列表,静态的东西,我可以在我的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中cuz它在全球Spring上下文)

,然后在我的JSP呈现$ {} countryList做 -
<form:select path="country">
<form:option value="NONE" label="--- Select ---"/>
<form:options items="${countryList}" />
</form:select>

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

0

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