Jsp 在jstl中使用变量;“关键”;属于<;fmt:消息键="<;%=customFieldData%>&引用/&燃气轮机;

Jsp 在jstl中使用变量;“关键”;属于<;fmt:消息键="<;%=customFieldData%>&引用/&燃气轮机;,jsp,jstl,Jsp,Jstl,在我的jsp页面中,有一些标签来自SpringMVC中的控制器。但是我尝试使用属性文件为这些标签显示不同的值。这是我的jsp代码 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <fmt:bundle basename="main.resources.abc_messages"> <% if (request.

在我的jsp页面中,有一些标签来自SpringMVC中的控制器。但是我尝试使用属性文件为这些标签显示不同的值。这是我的jsp代码

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<fmt:bundle basename="main.resources.abc_messages">
                <%
                    if (request.getAttribute("customFields") != null) {
                        String line = request.getAttribute("customFields").toString();
                        line = line.subSequence(1, line.length() - 1).toString();
                        String[] data = splitLineIntoArray(line, ",");
                        for (int i = 0; i < data.length; i++) {
                            String field = data[i];
                            String[] customFieldData = splitLineIntoArray(field, "=");
                %>
                <div class="row">
                    <div class="left">
                    <fmt:message key="<%=customFieldData[0]%>"/>    
                    </div>
                    <div class="right">
                        <input type="text" type="customField"
                            value="<%=customFieldData[1]%>" id="customField"
                            class="inputfixed" disabled="true" />
                    </div>
                    <div class="clear"></div>
                </div>
                <%
                    }
                    }
                %>
</fmt:bundle>
abc_messages.properties文件

color=Main Color
font=Main Font

问题是我得到了一个额外的空间作为CustomFields数据。“color”是我得到的字符串,但在属性文件中有“color”。那么它给了???颜色我应该在输入键之前对customFieldData进行修剪()

您在构建时是否使用maven,这就是为什么您在
src/main/resources
中有属性文件的原因?是的,这是一个maven项目。资源文件夹位于类路径中。但我也尝试过将相同的属性文件放在根文件夹中并更改为。但是它给出了相同的输出,因为设置
应该是有效的。这可能很难实现,您是否尝试过在文件名中不使用下划线?另外,您是否尝试对
fmt:message
标记中的属性进行硬编码,以查看是否存在错误?请删除
main.resources.
部分。除非你把它放在
src/main/resources/main/resources
文件夹中,否则它不应该在那里。您是否已验证您的属性文件确实位于
WEB-INF/classes
文件夹中?对于相同的
ResourceBundle
,您是否有其他语言属性文件?非常感谢您的时间和帮助@DanielBarbarian。我现在得到了预期的结果。问题是我得到了一个额外的空间作为CustomFields数据。“color”是我得到的字符串,但在属性文件中有“color”。那么它给了???颜色在输入键之前,我应该对customFieldData进行修剪()
color=Main Color
font=Main Font