在<fmt:message key =“&lt;%= customFieldData%&gt;”> </fmt:message>的jstl“key”中使用变量

时间:2014-09-09 22:08:36

标签: jsp jstl

在我的jsp页面中,有一些标签来自spring mvc中的控制器。但我试图使用属性文件来显示这些标签的不同值。这是我的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放在类路径中。当我使用key =&#34; abc&#34;并且属性文件有abc = xyz然后我得到值xyz。但是根据需要使用变量,我得到了??? 但我总是将其作为输出

??? color???   : green
??? font ???   : arial

abc_messages.properties文件

color=Main Color
font=Main Font

1 个答案:

答案 0 :(得分:0)

问题在于我获得了额外的空间作为CustomFields数据。 “颜色”是我得到的字符串,但在属性文件中有“颜色”。所以它给了???颜色??? 。我应该在放入键

之前修剪()customFieldData