2013-02-28 11 views
5
  • Mam zmiennej sesji w pliku Java (TestConnection.java)

session.setAttribute ("CONNECTION_DBNAME", nazwa_bd.);kod Javascript by odczytać java wartość zmiennej

  • Jak odczytać wartość CONNECTION_DBNAME do pliku JavaScript. (Utility.js)
+0

Czy to JSP (Java Server Pages) aplikacji internetowych? – mellamokb

+0

tak .. najpierw potrzebuję odczytać wartość CONNECTION_DBNAME z java do javascript. następnie z javascript na stronę jsp. – Rachel

Odpowiedz

7
First access the variable in scriptlet. 

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

Then use like this. 

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

następnie można uzyskać dostęp do nazwy za pomocą x.

+2

Dlaczego po prostu nie używać JSP EL? Aby to działało, nie może to być plik JavaScript, chyba że kontener zostanie przeprowadzony w celu przetworzenia ich jako JSP. –

0

Nie można uzyskać dostęp do zmiennych w sesji z klientem. Można podać wywołanie Ajax dla klienta, aby dynamicznie pobrać wartość lub pozostawić wartość ustawioną w bloku skryptu.

JSF:

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

(dosłownie z sesji, kluczem jest cytaty muszą tam, jeśli jest to ciąg być):

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

Jednakże, należy rozważyć przed pójściem w tym kierunku ponieważ nie ma sensu udzielanie dostępu do bazy danych JavaScript za pomocą takiego mechanizmu. Jeśli twoja baza danych nie zostanie publicznie ujawniona, wydaje Ci się, że znajdujesz się na ścieżce ujawniania szczegółów połączenia z bazą danych, których klient nie powinien lub musi mieć. Twój serwer/strona powinna służyć jako przekaźnik, aby uzyskać te informacje.

Teraz, jeśli jest to konsola administracyjna, prawdopodobnie nadal nie chcesz jej używać w JavaScript, ale wyświetlanie ustawień jest dopuszczalne. Bez względu na to, prawdopodobnie nie potrzebujesz ich w Sesji, chyba że szczegóły połączenia są specyficzne dla użytkownika.

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

kod ten jest przydatny do ciebie ..

1

można wykorzystywać ukryty element JSP, aby uzyskać wartość od sesji, takie jak: - <textarea id="txtData" style.display='none'><%=session.getAttribute("CONNECTION_DBNAME") %></textarea>

potem można uzyskać wartość w JavaScript przez var dbConnName=document.getElementById("txtData").value;

i gotowe.

1

Skrypty zostały WYKONANE ponad dekadę temu!

Lepszym sposobem ... w JSP, to wartości w ukrytym Gr:

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

Zastosowanie <div> „s zamiast <input type="hidden">, ponieważ nie będą one kolidować z form-księgowań.

w JavaScript (przy założeniu, jQuery) można następnie uzyskać dostęp do wartości, na przykład:

var employee = $("#employee").html().trim(); 
    var dept = $("#dept").html().trim(); 
Powiązane problemy