渲染 Spring Form 从属性文件中选择标签

问题描述 投票:0回答:1

我正在我的应用程序中用 Spring MVC 替换 Struts。以前,应用程序使用 .properties 文件来存储标签信息,并根据区域设置使用 Strut 标签在 JSP 页面中呈现。

属性中的标签(数据)就像

0000=abc
0001=def

使用

form:select
spring 标签,我想渲染一个下拉菜单,其中包含属性文件中值的标签文本和属性文件中键值的选项。

到目前为止,我已经能够使用

items
标签的
form:select
属性渲染带有所有键的选择标签,但没有达到预期的结果。

另外,spring 标签可以直接从静态 .properties 文件读取和迭代吗?现在,我正在控制器中读取这些 .properties 文件,然后将键列表传递给视图。

spring-mvc spring-tld
1个回答
0
投票

我最终找到了解决方案。我们可以在控制器中获取资源包并将键列表传递给视图。 在视图中,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>
© www.soinside.com 2019 - 2024. All rights reserved.