2011-07-07 41 views

答えて

8

あなたは、JavaスクリプトがJSPの内部に書かれていると思うなら、それは可能です。

しかし、JSファイルを別々に提供している場合は、グローバル変数を作成することができ、その変数はどこでも利用できます。

4

あなたは外部のjsファイルに書き込めません。しかし、var s = "<%=str%>";をjspに入れると、sはグローバルスコープを持つため、外部jsファイル内で使用できるグローバル変数になります。したがって、簡単に言えば、実際のjsファイルを変更することはできませんが、グローバルスコープの変数を追加し、その変数を外部のjsスクリプト内で参照することができます。

1

"ダイナミックなもの"が印刷されたjsコードを含むjspを作成し、そのjspを通常のjsファイルとしてインポートすることができます。私はあなたが私が取り組んでいるサイト(ストラットを利用しています)のために、私自身の実装を見せます。私は、クライアント側にいくつかのローカライズされた文字列を含むマップをエクスポートするには、このアプローチを使用しています:

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

JSPファイルにJavaScriptファイルを含める前に、文字列を定義します。

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

JavaScriptファイルでは、変数を直接参照することができます。

alert(str) 
関連する問題