0

次のようにJavaでファイルパスを設定していますが、

String requestedFileName = param+File.separator+fileName;
request.setAttribute("requestedFileName",requestedFileName);

そして、次のようにjavascriptで取得しています。

var selectedFileName = null;
if ('${requestScope.requestButtonParam}' == "convert") {
   selectedFileName = '${requestScope.requestedFileName}';          
   alert("inside if: "+selectedFileName);
}

しかし、アラート ボックスでは 、D://NewFolder//Abc.htmlではなく、D :NewFolderAbc.htmlのようにファイル パスを取得しています。

javascriptでファイルパスを正しく取得するには?

ありがとう

4

1 に答える 1

-1

File.separator問題は、Javascript のエスケープ文字である可能性が最も高い\ため、エスケープ文字をエスケープする必要があります。

エスケープを行う簡単な方法は、Apache Commons StringEscapeUtils.escapeEcmaScriptを使用することです:

String requestedFileName = param+File.separator+fileName;
String escapedFileName = StringEscapeUtils.escapeEcmaScript(requestedFileName);
request.setAttribute("requestedFileName",escapedFileName);  

これは、Javascript で正しく解釈されるように変更D:\NewFolder\Abc.htmlされます。D:\\NewFolder\\Abc.html

于 2013-03-06T10:08:41.007 に答える