En los dos primeros artículos, hemos introducido el método de la cultura de configuración cero DWR y los métodos de back-end llamadas front-end. Creo que todos deberían ser competentes en ello. Discutamos principalmente cómo el back-end llama al método JS front-end en reversa;
Como se mencionó en los dos artículos anteriores, dos componentes de servicio están registrados con DWR, uno es remoto y el otro es el controlador utilizado por la página. Se llamará a este control remoto tan pronto como se cargue la página, lo que permite que la sesión y la página de scriptsession establezcan una relación vinculante, para que podamos usar su scriptSessionID para la página direccional empuje más tarde;
El siguiente es el método para crear una sesión y página de scriptsession (la página se llamará cuando se cargue):
ScriptSession scriptSession = webContextFactory.get (). GetScriptSession (); Cadena jSessionId = scriptsession.gethttpsessionId (); String dwrSessionId = scriptsession.getId (); Logger.info (string.format ("set jSessionID = [%s], dwrsession = [%s] Push habilitado", JSessionId, DWRSSIONSIdId)); ConstantCacheservice.putCacheconstant (constants.push_id+jSessionID, dwrSessionID);El siguiente es el método de servicio utilizado para llamar reversamente al front-end:
@Service ("dwrreverseAdaAxservice") clase pública dwrreverseAdaAdaxService {private static final logger logger = loggerFactory.getLogger (dwrreverseAdaxService.class); public void void directwebremotingWithSession (httpSession session, final de la sesión de string) NULL! "); String final scriptSessessId = constantCacheservice.getCacheConStantValue (constants.push_id + session.getId ()); logger.info (" [dwr session id] = " + scriptsInd +" [script function name] = " + functionname); browser.withsession (scriptsessionId, new runnable () {ScriptSessions.AddFunctionCall (functionName, "");}});}}Este servicio utiliza ScriptSessionID para posicionamiento y empuje inversos, y este ScriptSessionID utiliza un par de mapas global que se guardó cuando cargamos por primera vez la página;
Simplemente use el servicio de servicio registrado cuando desee llamarlo. Los parámetros pasados son httpsession y el nombre de función frontal que desea llamar. Al mismo tiempo, tenga en cuenta que la función JS existe en la página actual, y se puede acceder a los métodos en los JS de la página principal, de lo contrario, el front-end provocará un error de este método indefinido;
Lo anterior es una aplicación simple de DWR. Es puramente la primera vez que lo uso. Si hay algo malo, corríjeme. ¡Estoy agradecido! Dios, por favor flote por ~~~~~;