константы для аттрибутов Model
При использовании Spring mvc, мы в Model передаём необходимые значения в аттрибуты, чтоб потом отобразить их на странице. В методе контролёра:
model.addAttribute("name", myName);
на странице html:
<title th:text="${name}"></title>
Потенциальный баг - изменить имя атрибута в контролёре и забыть это сделать на страничке html. Это можно решить создав спец класс для хранения этих атрибутов. Для контролёра это будет выглядеть так:
model.addAttribute(CommonAttributes.NAME, myName);
таким образом, если необходимо изменить имя атрибута, то мы его меняем только в одном месте - CommonAttributes.NAME, это отлично сработает для жава классов. Как создать что то подобное для классов и страничек?
Ответы (1 шт):
Создаете класс (не интерфейс!!!), в котором будут все ваши константы, например, CommonAttributes.java, в нем описываете константы, например, public static final String NAME = "name";
В jsp-файле вначале описываете импорт <%@ page import="CommonAttributes" %>.
Использование: например, <input type="text" id="inputName" name="${Parameters.NAME}">. Ну и в сервлете уже ваш код model.addAttribute(CommonAttributes.NAME, myName);
Как-то так. У меня так работает.