最初の2つの記事では、DWRゼロ構成文化とフロントエンドの呼び出しバックエンドメソッドの方法を導入しました。誰もが熟練しているべきだと思います。主に、バックエンドがフロントエンドJSメソッドを逆に呼び出す方法について説明しましょう。
前の2つの記事で述べたように、2つのサービスコンポーネントがDWRに登録され、1つはリモート、もう1つはページで使用されるコントローラーです。このリモートは、ページが読み込まれるとすぐに呼び出されます。これにより、セッションとページのスクリプトセッションがバインディング関係を確立できます。
以下は、セッションとページのスクリプトセッションを作成する方法です(ページがロードされたときに呼び出されます):
ScriptSession ScriptSession = webContextFactory.get()。getScriptSession(); string jsessionId = scriptsession.gethttpsessionid(); string dwrsessionid = scriptsession.getid(); logger.info(string.format( "set jsessionId = [%s]、dwrsession = [%s]プッシュイネーブル"、jsessionid、dwrsessionid)); custrantCachEService.putCacheConStant(constants.push_id+jsessionId、dwrsessionId);
以下は、フロントエンドを逆に呼び出すために使用されるサービス方法です。
@service( "dwrreverseajaxservice")public class dwrreverseajaxservice {private static final logger logger = loggerfactory.getlogger(dwrreverseajaxservice.class); public void directwebremotingwithsession(httpssession session、final String session){assert.notnull null! "); final String ScriptSessionId = constantCacheService.getCacheconStantValue(constants.push_id + session.getId()); ogger.info(" + scriptsessionid + "[script function name] =" + functionname); {scriptsessions.addfunctioncall(functionname、 "");}});}}このサービスは、逆の位置決めとプッシュにScriptSessionIDを使用します。このScriptSessionIDは、最初にページをロードしたときに保存されたグローバルマップペアを使用します。
登録されたサービスビーンを使用するときは、登録されたサービスビーンを使用してください。渡されたパラメーターは、httpsessionと呼び出したいフロントエンドのファンシトン名です。同時に、JS関数は現在のページに存在し、メインページのJSのメソッドにアクセスできることに注意してください。
上記は、DWRの単純なアプリケーションです。純粋に私がそれを使用するのは初めてです。何か問題がある場合は、私を修正してください。感謝しています!神様、~~~~~で浮かんでください。