2011-07-07 7 views

Odpowiedz

8

Jeśli uważasz, że skrypt Java jest napisany wewnątrz strony JSP, to jest to możliwe.

Ale dostarczasz plik JS oddzielnie, możesz utworzyć zmienną globalną, która będzie dostępna wszędzie.

4

Twoja osoba nie będzie w stanie napisać do zewnętrznego pliku js. Jednak jeśli umieścisz var s = "<%=str%>"; w twoim jsp s stanie się zmienną globalną, która może być użyta w twoim zewnętrznym pliku js, ponieważ s będzie mieć globalny zasięg. Tak więc, w skrócie, nie można zmodyfikować rzeczywistego pliku js, ale można dodać zmienną o zasięgu globalnym i odnieść tę zmienną do zewnętrznego skryptu js.

1

Można po prostu utworzyć plik jsp zawierający kod js z "dynamicznymi materiałami" wydrukowanymi wewnątrz, a następnie zaimportować ten plik jsp jako normalny plik js. Pokażę Wam moją własną implementację, dla strony, na której pracuję (wykorzystuje ona rozpórki). Używam tego podejścia do eksportu na stronie klienta mapę zawierającą kilka zlokalizowane ciągi:

foo.jsp:

<%@ page contentType="text/javascript" pageEncoding="UTF-8" %> 
<%@ taglib uri="/struts-tags" prefix="s" %> 

var myString = '<s:text name="foo.MY_STRING" />' 

struts.xml:

<action name="foo"><result>foo.jsp</result></action> 

home.jsp:

<script type="text/javascript" src="foo.action" charset="UTF-8"></script> 
1

Zdefiniuj łańcuch przed dołączeniem pliku JavaScript do pliku JSP.

<script type="text/javascript"> 
    var str = "Hello"; 
</script> 
<script src="js/myJavascript.js"></script> 

W pliku JavaScript można bezpośrednio odnieść się do zmiennej.

np.

alert(str) 
Powiązane problemy