Spring передача модели из контроллера в js

338
23 мая 2017, 01:27

Здравствуйте, из контроллера передаю булевый флаг:

@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";}

От данного решения меня подташнивает, может все таки есть более вменяемое решения, а не то что я сделяль ?

READ ALSO
Авторизация в Java [требует правки]

Авторизация в Java [требует правки]

Как организовать авторизацию в server client приложении? Есть клиент на Андройд, и сервер на компьютере, соединенный посредством сокета, хочу сгруппировать...

251
Фактическое определение типа

Фактическое определение типа

Может мне кто-то пояснить, каким образом в Java осуществляется фактическое определение типа объекта, какой алгоритм действий?

214
Форматирование текста для JTextField

Форматирование текста для JTextField

У меня есть консоль, JTextField, в которую выводится String out, когда мне нужно дописать текст, я добавляю в эту переменную \n и необходимый текст, затем...

304
Из инфиксной формы в постфиксную и префиксную

Из инфиксной формы в постфиксную и префиксную

Помогите пожалуйста формулами для преобразования алгебраических выражений из инфиксных форм в постфиксные и префиксные с предусмотрением...

370