首页 > 解决方案 > 如何加快 Spring 的 form:options 标签?

问题描述

我正在使用 Spring 5.0.6.RELEASE。我正在尝试在我的页面上呈现国家和州的 SELECT 菜单,所以我有

<form:select path="countries[${vs.index}]" cssClass="country">
    <form:option value="" label="Select Country" />
    <form:options items="${countryList}" itemValue="id" itemLabel="name" /> 
</form:select> 

<form:select path="states[${vs.index}]" cssClass="state">
    <form:option value="" label="Select State" />
    <form:options items="${stateList[vs.index]}" itemValue="id" itemLabel="name" />
</form:select>

大约有 239 个国家选项和 50 个州选项,但上述两个功能需要大约 11 秒才能呈现。这是非常慢的,特别是考虑到数据永远不会改变。有没有办法加快速度或以某种方式让我的应用程序缓存这些片段?我正在使用 Wildfly 11.0.0.Final 和 Java 8。

标签: javaspringformsspring-mvctags

解决方案


也许这不是您要寻找的,但为什么要访问服务器获取静态国家/地区列表 (/states)?

您可以轻松地编写或使用组件来在 Javascript vanila 或框架中显示此类下拉菜单,从而减少网络延迟并减少负载。

每次页面加载都通过网络为每个客户端发送这些列表似乎非常冗余和扩展。


推荐阅读