2009-04-10 2 views
10

일부 선택적 키가있는 리소스 파일이 있습니다. 선택적 리소스 키가 없으면 대신 기본값을 설정합니다. 키가 자원 번들에 존재하는지 판별하는 쉬운 방법은 없다. 그래서이 문제를 해결하기 위해 내가하고있는 일입니다.JSTL 태그를 사용하여 자원 번들 키가 존재하지 않는지 어떻게 확인할 수 있습니까?

<fmt:message var="title" key="login.reg.signup.${signupForm.regfrom}.title" /> 
<c:if test='${fn:startsWith(title, "??")}'> 
    <fmt:message var="title" key="login.reg.signup.default.title" /> 
</c:if> 

더 좋은 방법이 있습니까?

답변

6

당신은이 작업을 수행 자신의 JSP 태그를 쓸 수 있습니다, 그래서 당신은 단지 수행 할 수 있습니다

<my:message var="title" key="${form}.title" default="default.title"/> 

태그 구현이 중 현재 JSP 구문, 또는 Java 클래스가 될 수 있습니다.

2

#{messagesFactory.messages.containsKey('key')}을 사용하여 확인할 수 있습니다.

+1

이것은 EL 2.2 (2009 년 4 월에 아직 존재하지 않았 음)를 지원하는 환경에서만 작동합니다. – BalusC

관련 문제