基本的には、JSPの新しいものと可能なものを考えてください。私は別々のURLとindex.(jsp|html)
ページを持つ4つのWebアプリケーションダッシュボードをスタンドアロンのスイートに取り組んでいます。 Javaで書かれたダッシュボードのバックエンドは、さまざまな味で構築でき、さまざまな環境に展開できます。いくつかの魔法を使うと、WEB-INF/classes
に.properties
というファイルが存在することがあります。ビルドフレーバーやデプロイメント環境などのシステム情報(UIが知る必要があるもの)を取得するために使用できます。Javascriptがロードされる前に、どのようにプロパティファイルからJSPにシステム情報をロードできますか?
共有UI JavaScriptでUIに
をシステム情報を取得する現在のソリューションは、我々は、プロパティファイルを読み込み、JSP、メインスレッド上で同期AJAX呼び出しをブロッキングを行う、と返していますJSONの情報を呼び出し元に送信します(下記のファイル)。 メインスレッドでこの同期AJAX呼び出しを削除しようとしていますが、代わりにには、AJAXを実行せずに、その情報をJavascriptで利用できるようになっています。
質問
私が代わりにそれを取得するためのAJAX呼び出しを加えることなく、アクセスするには、WebブラウザでJavaScriptのためのページですでに利用可能な情報を持っているJSPとサーブレットを使用することができますどのように?そして、そのソリューションをすべてのダッシュボードで共有するにはどうすればいいですか?理想的には、すべてのindex.jspファイルにJSPコードを複製する必要はありませんか?
参考までに、現在使用しているJSPは以下のとおりです。このJSPに対してAJAX呼び出しを行い、そのJSON応答からの情報をグローバル状態変数に格納して、ダッシュボードにアクセスします。
<%@page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8" %>
<%@page import="java.io.InputStream" %>
<%@page import="java.util.*" %>
<%@page import="com.google.gson.Gson" %>
<%
// Read properties file
Properties p = new Properties();
p.load(application.getResourceAsStream("/WEB-INF/classes/system.properties"));
Map<String, String> m = new HashMap<~>();
m.put("id", p.getProperty("system.id", "unknown"));
m.put("type", p.getProperty("system.type", "unknown"));
// Write JSON response
out.write(new Gson().toJson(m));
out.flush();
%>
ありがとうございました!私の上で簡単に行く...私は新しいです。