我正在我的应用程序中用 Spring MVC 替换 Struts。以前,应用程序使用 .properties 文件来存储标签信息,并根据区域设置使用 Strut 标签在 JSP 页面中呈现。
属性中的标签(数据)就像
0000=abc
0001=def
使用
form:select
spring 标签,我想渲染一个下拉菜单,其中包含属性文件中值的标签文本和属性文件中键值的选项。
到目前为止,我已经能够使用
items
标签的 form:select
属性渲染带有所有键的选择标签,但没有达到预期的结果。
另外,spring 标签可以直接从静态 .properties 文件读取和迭代吗?现在,我正在控制器中读取这些 .properties 文件,然后将键列表传递给视图。
我最终找到了解决方案。我们可以在控制器中获取资源包并将键列表传递给视图。 在视图中,JSTL
forEach
标签可用于迭代列表项,并将密钥传递给 spring:message
标签,以便它可以读取 .properties
文件中的标签
类似:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<form:select path="fieldToSubmitTheValueTo" multiple="false">
<form:option value="-1">
<spring:message code="label.select"/>
</form:option>
<c:forEach items="${labelKeys}" var="key">
<form:option value="${key}">
<spring:message code="${key}"/>
</form:option>
</c:forEach>
</form:select>