- ベストアンサー
外部JavaScriptファイルを読み込む
<HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function textReset(){ this.form1.userName.value=""; this.form1.passWord.value=""; } //--> </SCRIPT> </HEAD> のJavaScriptファイルを外出しにして、 <HEAD> <SCRIPT LANGUAGE="JavaScript" SRC="/jsp/script.js"></SCRIPT> </HEAD> という風に呼び出そうとしているのですが、うまくいきません。どこに問題があると考えられるのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <%@page contentType="text/html;charset=Cp943c" %> <HTML> <HEAD> <SCRIPT LANGUAGE=JAVASCRIPT> <!-- alert('<%=request.getContextPath()%>'); <% String MES=request.getContextPath(); if(MES==null){MES="NULL";} else if(MES.equals('')){MES="0String";} %> alert('<%=MES%>'); //--> </SCRIPT> </HEAD><BODY></BODY></HTML> これで何も表示されないのなら JAVAXが入ってない? (でもそれならエラー画面か、) まあそれはともかく 絶対URLで指定すればいいんですけどね。 ともかく<%=request.getContextPath()%>なんですよ。 これが使えないとJSPで相対アドレスは難しいです。 VAJのテスト環境ってところが引っかかりますが・・・ もしかしてWEB実行で表示されるような画面でIE起動せずの形ですか? VAJ(あまり知らない・・・) ちゃんとサーバーを立てて実行環境を作ってみては? 最新版でないと出来なかった利というのも在りますし。 JDKやらほとんどのものを最新にしてみては?
その他の回答 (4)
- shorn
- ベストアンサー率41% (12/29)
実行環境(WAS)を教えてください。
- shorn
- ベストアンサー率41% (12/29)
<%= request.getContextPath() %> だけ使って表示後にソースを開いてみてどの部分がかかれているか見てみてください。 それでアドレスバーにかかれているアドレスと見比べてください。 読み込んだら通常どおりの関数の実効命令でかまいません。 不安だったらアラートを使って試してみては? ちなみに<%= request.getContextPath() %>/script.js じゃあ無理ですよ。 <%= request.getContextPath() %>/パッケージ最上部(webの下)/..../script.js
補足
<%= request.getContextPath() %> の結果は何も表示されませんでした。
- shorn
- ベストアンサー率41% (12/29)
<SCRIPT src="<%=request.getContextPath()%>/****.js"></script> のようにしてみては? request.getContextPath() について調べてみればわかりますよ。 これはJAVASCRIPTではなくJSPの問題です。 フォルダなどの構造がわからないためこのくらいしかいえませんが。
補足
やってみましたがうまくいきませんでした。 外出しにしてるスクリプトの関数をHTMLファイルで、 onClick="XXX()"みたいに呼び出しても大丈夫なんですか?
- Kizz
- ベストアンサー率47% (30/63)
はじめまして、mikmik_aさん。 ・外部ファイル(/jsp/script.js)の方はタグは不要なはずです。 #かかれているコードでいうと以下だけを書けばよいです。 function textReset(){ this.form1.userName.value=""; this.form1.passWord.value=""; } ・HTMLファイルの方で外部javascriptファイルを指定する<script>タグの属性 では、LANGUAGE="JavaScript" はいらないかな‥。 #あっても大丈夫かもだけど、私は書いた事がない。src="~~"のみ。 ・あとは、そのサイト上"/jsp/script.js"というパスの指定があっているか。 位ですかね。 参考にして試してみてください。 がんばってね。
補足
外部ファイルのタグは消しましたがまだうまくいきません。 パスの方ですが、jsファイルはjsp(HTML)ファイルと同じディレクトリにあります。 jspファイルをform actionで指定する際には、 action="/jsp/XXXX.jsp"という風に指定しています。 SRC="/jsp/script.js"であっていますか?
補足
VAJのテスト環境で実行しています。