2014-09-27 1 views
0

В настоящее время у меня есть этот код в Spring MVC, чтобы заполнить все варианты, такие как «Доктор» и т.д. ...Странно? en_US ?? появляясь в опции тега

@ModelAttribute("allTypes") 
public List<String> populateType() { 
String a[]= new String[]{"Doctor","Patient"}; 
return Arrays.asList(a); 
} 

И этот кусок кода в HTML, где он использует приведенный выше код отобразите параметры в раскрывающемся списке.

<select th:field="*{type}"> 
<option value="NONE">------Select-------</option> 
<option th:each="type:${allTypes}" th:value="${type}" th:text="#{${type}}"></option> 
</select> 

Проблема, с которой я столкнулся, заключается в том, что у меня странный выход в выпадающем списке. Например, ? Doctor_en_US ??,? Patient_en_US ??.

Любая помощь приветствуется. Спасибо.

+0

Появляется быть проблемой с конфигурацией интернационализации где – ne1410s

+0

я просто понял, что я сделал ошибку в е: текст он должен быть то же самое, что и значение th: теперь он отображает правильные значения. –

+0

Я бы очень рекомендовал использовать массивы (в этом случае вы могли бы использовать «Arrays.asList» («Доктор», «Пациент»)) и имена переменных, такие как 'a'. Только мои два цента. – Powerslave

ответ

0

Строки ??Something_en_US?? появляются при использовании выражений сообщения Thymeleaf (#{...}), а Message Resolver не может разрешить код сообщения, найденный в этом выражении. Так, например, #{foo} потребуется строка в свойствах сообщений файла с чем-то вроде:

foo = Some message or text to display here 

разрешения сообщений изменяется в зависимости от того, или не настроено Thymeleaf с или без весеннего диалекта. Ссылки: