こんにちは、ファイルへの URL パスであるリクエスト パラメータを取得しようとしています。
XSL ファイルのテンプレートを使用して、onclick イベントで div を「貼り付け」ています。
<div onclick="openPDF(700,500,'getDoc?pathpdf={./.}&type=pdf&nocache='+Math.random(),'scrollbars=yes,toolbar=no,status=yes,resizable=yes,menubar=no,location=no');" align="center">
<img src='Images/pdfIconsmall.png' width='12' style='height:12' />
</div>
この部分 -> pathpdf={./.} は、次のような URL を受け取ります。
pathpdf=\\SERVER02\work\area51\docs\ws\00120130000261_101912.pdf
パラメータは期待どおりに送信されますが、サーバー側でそのパラメータの System.out を実行しようとすると、次の値が表示されます。
->->->パス: SERVER02workarea51docsws 00120130000261_101912.pdf
エスケープはサーブレットによって行われたのですか、それとも私のアプリケーションでそれを行っているのですか?
ありがとうございました
編集
以下のアンサーウェアとは異なる方法でこれを作成しましたが、似ています: string-replace-all
<xsl:when test="string-length(./.) >0">
<xsl:variable name="pathpdf">
<xsl:call-template name="string-replace-all">
<xsl:with-param name="text" select="./." />
<xsl:with-param name="replace" select="'\'" />
<xsl:with-param name="by" select="'\\'" />
</xsl:call-template>
</xsl:variable>
<div onclick="openPDF(700,500,'getDoc?pathpdf={$pathpdf}&type=pdf&nocache='+Math.random(),'scrollbars=yes,toolbar=no,status=yes,resizable=yes,menubar=no,location=no');" align="center">
<img src='Images/pdfIconsmall.png' width='12' style='height:12' />
</div>
</xsl:when>