В первых двух статьях мы представили метод культуры конфигурации DWR Zero и методы вызова первого конца. Я считаю, что все должны быть опытными в этом. Давайте в основном обсудим, как заднее время вызывает метод JS Front-End в обратном порядке;
Как упоминалось в предыдущих двух статьях, два компонента сервиса зарегистрированы в DWR, один является удаленным, а другая - контроллер, используемый на странице. Этот удаленный дистанционное управление будет вызвано, как только страница будет загружена, что позволяет сеансу и сценарию страницы устанавливать связующие отношения, чтобы мы могли использовать его ScriptsessionId для направления страницы позже;
Ниже приведен метод создания сценария сеанса и страницы (страница будет вызвана при загрузке):
Scriptsession scriptsession = webcontextfactory.get (). Getscriptsession (); String jsessionId = scriptsession.gethttpsessionId (); String dwrsessionId = scriptsession.getId (); Logger.info (string.format ("set jsessionId = [%s], dwrsession = [%s] push включен", jsessionId, dwrsessionId)); ConstantCachService.putCacheConstant (constants.push_id+jsessionId, dwrsessionId);Ниже приведен метод обслуживания, используемый для обратного вызова фронтального:
@Service ("dwrreverseajaxservice") открытый класс dwrreverseajaxservice {private static final logger logger = loggerfactory.getlogger (dwrreverseajaxservice.class); public void directwebremotingwithsession (httpsessessessessessed, final Stringnam null! "); Final String scriptsessionId = constantCachService.getCacheConStantValue (constants.push_id + session.getid ()); logger.info (" [DWR Session Id] = " + scriptsessionId +" {Scriptsessions.addfunctionCall (functionName, "");}});}}В этой службе используется ScriptsessionId для обратного позиционирования и толкания, и этот ScriptsessionId использует глобальную пару карт, которая была сохранена, когда мы впервые загрузили страницу;
Просто используйте зарегистрированный сервисный фасоль, когда хотите его позвонить. Параметры, передаваемые httpsession и фронтальное имя Funciton, которое вы хотите позвонить. В то же время обратите внимание, что функция JS существует на текущей странице, а методы в JS на главной странице можно получить, в противном случае фронт-энд будет вызвать ошибку неопределенного этого метода;
Выше представляет собой простое применение DWR. Это только первый раз, когда я использую его. Если есть что -то не так, пожалуйста, поправьте меня. Я благодарен! Боже, пожалуйста, плавать по ~~~~~;