- - PR -
ForwardActionからjspが呼ばれた時にindex.jspで定義したscript関数がよばれない
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-08-17 14:51
題名通りです。
<html:form action="/dispIndex"> <html:submit value="戻る"/> </html:form> でindex.jspを呼び出しているのですが、 どうしてもonloadイベントが走ってくれません。 <!-- dispInsert --> <action path="/dispIndex" name="InsertForm" scope="request" type="study.struts.actions.ForwardAction"> <forward name="success" contextRelative="true" path="/jsp/insertResult.jsp"/> </action> で、ForwardActionを定義しており、index.jspの抜粋は <html:html> <head> <title>さんぷる</title> <%-- スクリプトファイルのインクルード --%> <script language="JavaScript" src="../js/DoubleClickCheck.js"></script> </head> <body onload="doInit()"> <center> <h1>さんぷる</h1> です。 doInit()はDoubleClickCheck.jsで定義されており、 たとえば、<html:link〜>から呼ばれた時は正常に動作します。 何か分かる方がいらっしゃいましたらご教授お願いします [ メッセージ編集済み 編集者: kn 編集日時 2004-08-17 14:54 ] [ メッセージ編集済み 編集者: kn 編集日時 2004-08-17 14:56 ] | ||||
|
投稿日時: 2004-08-17 17:39
> <html:form action="/dispIndex">
> <html:submit value="戻る"/> > </html:form> > でindex.jspを呼び出しているのですが、 > どうしてもonloadイベントが走ってくれません。 とありますが、下のconfigの定義だとindex.jspを呼び出さずに insertResult.jspを呼び出すようになっています。 > <!-- dispInsert --> > <action path="/dispIndex" > name="InsertForm" > scope="request" > type="study.struts.actions.ForwardAction"> > <forward name="success" > contextRelative="true" > path="/jsp/insertResult.jsp"/> > </action> index.jspを呼ぶように↑ここを変更すべきなのでは? | ||||
|
投稿日時: 2004-08-17 17:48
すいません。記述が足りてませんでした。。。
<!-- dispInsert --> <action path="/dispIndex" name="InsertForm" scope="request" type="study.struts.actions.ForwardAction"> <forward name="success" contextRelative="true" path="/jsp/insertResult.jsp"/> </action> insertResult.jspは戻るボタンだけをもつjspで抜粋は <body> <center> <h1>挿入結果</h1> ユーザID:<htmlx:write name="InsertForm" property="id"/><br> ユーザ名:<htmlx:write name="InsertForm" property="name"/><br> パスワード:<htmlx:write name="InsertForm" property="passwd"/><br> <p> <p> <html:form action="/dispIndex"> <html:submit value="戻る"/> </html:form> となっております。。。 [ メッセージ編集済み 編集者: kn 編集日時 2004-08-17 17:51 ] [ メッセージ編集済み 編集者: kn 編集日時 2004-08-17 17:53 ] | ||||
|
投稿日時: 2004-08-17 18:22
ActionServlet から JSP へ転送されているために相対パスが解決できていないのではないでしょうか?
アクセスログをみて DoubleClickCheck.js がどんなパスでリクエストされているか確認してみましょう。 <script language="JavaScript" src="./DoubleClickCheck.js"></script> でOkかな? | ||||
|
投稿日時: 2004-08-17 21:53
やっくるさんのおっしゃるとおり、このaction定義でindex.jspの記述がないのですが?
どうやってindex.jspを呼ぶのでしょうか?
| ||||
|
投稿日時: 2004-08-18 10:14
全てにおいて記述不足でした、すいません。。。orz
index.jspを呼ぶアクションは <!-- dispIndex --> <action path="/dispIndex" name="SearchForm" scope="request" type="study.struts.actions.ForwardAction"> <forward name="success" contextRelative="true" path="/jsp/index.jsp"/> </action> と定義してます。 SearchFormは検索に使うFormでinsertでもデータは変わらないため 代用しています。 で、insertResule.jspの戻るボタンでindex.jspに戻る場合 <body onload="〜">が呼ばれないのです。 変わりにinsertResule.jspの戻るを <html:link 〜>とすると正常に<body onload="〜">が動作します。 >インギさん アクセスログの解析も念のためしてみます。 index.jsp自体は正常に表示されるため問題ないと思っていたのですが。 あ、そういえばJavaScriptをindex.jspに直書きすると正常に動作するのですよね。 外部からのjsファイルの読み込みの問題でしょうか。 少し調査してみます。 今日は仕事お休みなので明日以降になってしまいますが。 >みなさん わかりにくい質問に対し、レスしてくれてどうもありがとうございます。 | ||||
|
投稿日時: 2004-08-18 10:19
たびたびすいません。
全ての箇所において study.struts.actions.ForwardAction となっているところは、 org.apache.strtus.actions.FowardAction の間違いです……。 | ||||
|
投稿日時: 2004-08-18 10:21
>index.jsp自体は正常に表示されるため問題ないと思っていたのですが。
>あ、そういえばJavaScriptをindex.jspに直書きすると正常に動作するのですよね。 >外部からのjsファイルの読み込みの問題でしょうか。 私の理解では Script タグで src=".." と指定した場合、JavaScript は別途読み込まれますので JSP が表示されていても JavaScript だけ読み込めていない可能性もあるかと存じます。 アクセスログをみると DoubleClickCheck.js に対して 400 が返っているログが確認できそうです。 混乱しているようで大変かと思いますが一つ一つ切り分けてがんばってください。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-08-18 10:22 ] | ||||
