2013-02-28 2 views
5
  • を読むためのJavascriptコードIは、javaファイルにセッション変数を持っている(TestConnection.java)

にsession.setAttribute( "CONNECTION_DBNAME"、DBNAME)。Javaの変数の値

のJavaScriptファイルにCONNECTION_DBNAME値を読み取る方法
  • 。(utility.js)
+0

これはJSP(Javaのサーバーページ)のWebアプリケーションです:あなたは、たとえば、値にアクセスすることができます(jQueryの仮定)JavaScriptで

? – mellamokb

+0

はい。まず、javaからCONNECTION_DBNAMEの値をjavascriptに読み込む必要があります。 javascriptからjspページに変換します。 – Rachel

答えて

7
First access the variable in scriptlet. 

<% 
    String param= (String)session.getAttribute("CONNECTION_DBNAME"); 
%> 

Then use like this. 

    <script> 
    var X = '<%=param%>'; 
    </script> 

xを使用して名前にアクセスできます。

+2

なぜJSP ELを使用しないのですか?また、これが動作するためには、コンテナがJSPとして処理するために実行されない限り、JavaScriptファイルにすることはできません。 –

0

あなたは、クライアントからのセッション内の変数にアクセスすることはできません。クライアントが値を動的に取得するためのAjax呼び出しを提供したり、値をスクリプト・ブロックに設定したりすることができます。

JSF:

<script>var dbName = "#{myBean.value}";</script> 

(文字通りセッションから、鍵は引用符は、それが文字列だ場合はそこに必要です):

<script>var dbName = "#{session.getAttribute('CONNECTION_DBNAME')}";</script> 

ただし、この方向に行く前に再考すべきですそのようなメカニズムを使ってデータベースにJavaScriptアクセスを与えるのはほとんど意味がないからです。データベースが公開されていない限り、データベース接続の詳細が公開されている必要があります。この情報を取得するには、サーバー/ページがリレーとして機能する必要があります。

これが管理コンソールであれば、まだJavaScriptでは不要ですが、設定を表示することは可能です。それにもかかわらず、接続の詳細がユーザー固有のものでない限り、おそらくセッションでそれらは必要ありません。

3
<script> 
<% 
    String dbname=(String)session.getAttribute("CONNECTION_DBNAME"); 
%> 
    </script> 

このコードは..あなたに便利です

1

のようにあなたがセッションから値を取得するためにJSPに隠された要素を使用することができます - あなたはJavaScriptで値を取得することができ、その後 <textarea id="txtData" style.display='none'><%=session.getAttribute("CONNECTION_DBNAME") %></textarea>

by var dbConnName=document.getElementById("txtData").value;

とされています。

1

スクリプトレットは10年以上前に結論づけられました。彼らはあなたのフォーム投稿に干渉しないので、むしろ<input type="hidden">より

<div id="javaValues" style="display: none;"> 
    <div id="employee">${employee}</div> 
    <div id="dept">${dept}</div> 
</div> 

使用<div>さん:

より良い方法... JSPで は、隠されたdiv要素の値が含まれます。

var employee = $("#employee").html().trim(); 
    var dept = $("#dept").html().trim();