내 JSP 페이지에는 봄 mvc 컨트롤러에서 오는 레이블이 있습니다. 하지만 그 레이블에 대해 다른 값을 표시하는 속성 파일을 사용하려고합니다. 다음은 내 JSP 코드입니다.jstl에서 변수 사용하기 <key : message key = "<% = customFieldData %>"/>
<%@ 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 = "abc"를 사용할 때 속성 파일에 abc = xyz가 있으면 xyz 값을 얻습니다. 하지만 여기에 필요한 변수를 사용하여 내가 얻을 ???. 하지만 항상 출력으로이 무엇입니까는
??? color??? : green
??? font ??? : arial
abc_messages.properties이 문제는 내가 CustomFields 데이터로 얻고 있었다 여분의 공간이었다
color=Main Color
font=Main Font
건물을 만들 때 maven을 사용하고 있는데, 이것이 src/main/resources'에 속성 파일이있는 이유입니까? – DanielBarbarian
네, 메이븐 프로젝트예요. resources 폴더가 클래스 경로에 있습니다. 그러나 나는 또한 동일한 특성 파일을 루트 폴더에 넣고를 로 변경하여 시도했다. 하지만 같은 출력을 내었습니다. –
Pan
실제로''설정이 효과가 있습니다. 파일 이름에 밑줄을 쓰지 않고 시도 했습니까? 또한'fmt : message' 태그의 속성을 하드 코딩하여 뭔가 잘못되었는지 확인하려고 했습니까? –
DanielBarbarian