Здравствуйте, из контроллера передаю булевый флаг:
@RequestMapping("example")
public String example(Model model){
bool flag;
model.addAttribute("flag", flag));
return "example";
}
Затем хочу произвести некоторые действия в js скрипте в зависимости от значения flag и открыть модальное окно, подскажите как мне значение flag получить в js скрипте ?
Update: 22.05.2017 0:02
В общем добился я почти того что хотел: есть форма input + кнопка, при нажатии на кнопку происходит поиск в БД объекта по названию из input, если объект не найден то появляется модальное окошко с соответствующим сообщением, вызывать модальное окошко по нажатию кнопки я умею, даже передать данные в него могу (маленькая победа для краба в js), но вот как его вызвать после того как вернулись данные из бд (ответ может быть не моментальным) я так и не осилил. Сделал следующим образом, на вью добавил скрытый input проверяя значение которого определяю будет вызван alert или нет и скрипт который отрабатывает при открытии страницы (иначе не пришло в голову как точно определить что ответ из бд вернулся)
$(document).ready(function(e) {
if($('#notFoundFlag').val()==1) {
alert('Указанная группа не существует или введен неверный ID/Name');
}});
Обрабатывается сам запрос в двух методах контроллера, в одном я проверяю есть ли объект и если нет заношу в сессию атрибут флага чтобы он был доступен из другого контроллера:
@RequestMapping(value = "addGroup", method = RequestMethod.POST)
public String saveProduct(Model model,@RequestParam("groupIdOrName") String groupIdOrName , HttpServletRequest request){
if(groupsSearchService.validate(groupIdOrName)!= null) {
groupService.saveGroup(groupsSearchService.validate(groupIdOrName));
return "redirect:/main";
} else {
request.getSession().setAttribute("flag", new Boolean(true));
return"redirect:/main";
}
}}
Второй, он же главный метод проверяет флаг (который сообщает о том был ли найден объект), и в зависимости от его значения меняет "флаг" на самой страничке который проверяется в скрипте:
@RequestMapping(value = "/main", method = RequestMethod.GET)
public String list(Model model, HttpServletRequest request){
model.addAttribute("groups", groupService.listAllVkGroups());
if(request.getSession().getAttribute("flag") != null && (Boolean) request.getSession().getAttribute("flag")==true ) {
int counter = 1;
model.addAttribute("counter", counter);
request.getSession().setAttribute("flag", false);
} else {
int counter = 0;
model.addAttribute("counter", counter);
}
return "main";}
От данного решения меня подташнивает, может все таки есть более вменяемое решения, а не то что я сделяль ?
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники