Jsp 在jstl中使用变量;“关键”;属于<;fmt:消息键="<;%=customFieldData%>&引用/&燃气轮机;
在我的jsp页面中,有一些标签来自SpringMVC中的控制器。但是我尝试使用属性文件为这些标签显示不同的值。这是我的jsp代码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.
<%@ 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