2017-01-24 3 views
0

나는 내 안에 모두 보기 상태보기에 포함 Thymeleaf 조각을 만들었습니다. 위에서 볼 수 있듯이SpEL의 열거 형 값을 통해 인라인 맵의 값에 액세스하는 방법은 무엇입니까?

<th:block th:fragment="flow-messages" 
    th:with="alertTypes = ${ {'INFO':'alert-info','ERROR':'alert-error','WARNING':'alert-warning'} }"> 
    <div 
     class="alert" 
     th:each="message: ${flowRequestContext.messageContext.allMessages}" 
     th:classappend="${alertTypes.get(message.severity)}"> 
     <p th:text="${message.text}">Message text</p> 
    </div> 
</th:block> 

, 나는 심각도 수준 (org.springframework.binding.message.Severity)과 연관된 부트 스트랩 클래스를 사용하여지도를 초기화합니다.

alertTypes.get (message.severity)이 작동하지 않습니다 (빈 값을 반환 함). 그리고 해당 클래스를 추가 할 방법이 없습니다.

누구든지이 문제를 해결할 수 있습니다.

+0

is alert 프로젝트의 열거 형을 입력하십시오. 코드를 게시 할 수 있습니까? – rptmat57

+0

alertTypes는 th :에 정의됩니다. " –

+0

@ SergioSanchezSánchez 당신은 값을 확인 했습니까? (예 :"경고 - 경고 ":"경고 - 경고 " message.severity가 맞습니까? 지도가 제대로 작동하는지 확인했습니다. btw는 경고가 아닙니다. 오류 – cralfaro

답변

1

th:classappend="${alertTypes.get(message.severity)}" 대신 th:classappend="${alertTypes.get(message.severity.toString())}"을 시도하십시오.

작성한 인라인 맵에는 심각도 유형의 열거 형이 아닌 해당 키에 대한 문자열이 있으므로 열거 형 값으로 get()을 호출하면 일치하지 않습니다.

+0

과 동일 할 것입니다. 그러나이 작은 따옴표를 제거해야합니다. 'INFO'-> INFO –