msc というサブディレクトリを持つ webapp があります。_etc/xml という名前の msc のサブディレクトリに xml ファイルを保持しています。
私のローカルマシンの絶対パスはc:/myproject/tomcat/webapps/javawork/msc/_etc/xml/msc_approval_managers.xml
msc ディレクトリ内の jsp ファイルで xml ファイルを取得し、それを解析して、jsp ページの HTML で使用するテキストを取得できるようにしたいと考えています。Java スクリプトレット コードを jsp ファイルに配置するのがプログラミングのベスト プラクティスではないことは理解していますが、それは私に求められていることです。私はその部分を制御することはできません。最終的に私のコードは本番サーバーに置かれるので、相対パスを使用して xml ファイルを取得する必要があります。ColdFusion では信じられないほど単純で (CF サイトを Java に変換する必要があります)、次のような 3 行で完了しました。
<!--- Set path to msc_approval_managers.xml --->
<cfset pathToXml = ExpandPath("/msc/_etc/xml/msc_approval_managers.xml")>
<!--- Read xml file into string variable --->
<cffile action="read" file="#pathToXml#" variable="xmlDoc">
<!--- Parse xml into an xml object --->
<cfset XMLDoc = XmlParse(xmlDoc)>
その後、ループするだけXMLDoc
です。明らかに、Java ではそれほど単純ではありません。XMLを解析してループするコードがあります。相対パスを使用してファイル自体を取得する方法を見つける必要があるだけなので、コードを運用サーバーにアップロードするだけで、絶対パスを使用せずに (そのサーバー上の) ファイルの場所を知ることができます。これは Java で、具体的には jsp ページで実行できますか?
アドバイスをいただければ幸いです。繰り返しになりますが、なぜそれが jsp ページにある必要があるのかという質問はしないでください。ありがとう。