これは私の2回目の質問です。私は情報に基づいた答えを得るために今回はもう少し詳しく説明します。サーブレットからJSPのサーバーファイルパスを取得するにはどうすればよいですか?
ここで実際に実行しようとしているのは、ページの読み込み時に実行されるはずの実行可能ファイルから動的に生成されるデータをドロップダウンメニューに入力することです。キャッチは、実行可能ファイルは、サーバー上のJSPのローカルディレクトリになければならないということです。私の会社はこのウェブサイトの3つまたは4つのクローンを持っており、実行ファイルをいくつかの絶対ファイルパスに入れることはできません。相対パスでなければなりません。私は、JSPは、私はこれを実行する可能性があるため、相対パスで実行可能ファイルを実行する能力を持っていることを知っている
:
<form action="./my_executable_that_generates_a_dynamic_page">
はしかし、私はJavaScriptを使用してDropboxのを移入するために、サーブレットから実行するために、これを必要とします。
<%= new File("./exec_produce_dropdown_list").getPath() %>
上記のスニペットは私に別のディレクトリを与えます。
<%= new File(new File(request.getServletContext().getRealPath(request.getRequestURI())).getParent().replace('\\', '/'), "exec_produce_dropdown_list"); %>
をそして、これは(我々が持っているものである)ファイルシステムに対応していないURIにおける仮想パスがあるかどう除いて、それは勝っかなり近いです:
私も試してみましたtは正しいディレクトリを指します。
実行ファイルを実行する簡単な方法はありますか? 私も、私のために働くweb.xmlはないと付け加えたいと思います。私の答えが見つかり
を与えるべきか?ファイルはどこにありますか? Webアプリケーションのルートディレクトリにある場合は、パスに<%= application.getRealPath( "/ exec_produce_dropdown_list")%>を使用してみてください。 – rickz
実パスは対応していません。私は私の解決策を見つけた、ありがとう。 – TLane