您好我试图获取请求参数是文件的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>
本部分 - &gt; pathpdf = {。/。}会像这样收到网址:
pathpdf = \\ SERVER02 \工作\ 51区\文档\ WS \ 00120130000261_101912.pdf
参数发送已经预期,但在服务器端,当我尝试做一个System.out 在该参数中,我看到了这个值:
- &gt; - &gt; - &gt;路径:SERVER02workarea51docsws 00120130000261_101912.pdf
servlet是否进行了转义,或者在我的应用程序中做了什么?
谢谢
修改
我以与下面的answear不同的方式制作了这个,但类似: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>
答案 0 :(得分:4)
在将请求发送到服务器之前,您必须对URL参数值进行编码。
此
pathpdf=\SERVER02\work\area51\docs\ws\00120130000261_101912.pdf
需要成为这个:
pathpdf=%5CSERVER02%5Cwork%5Carea51%5Cdocs%5Cws%5C00120130000261_101912.pdf
如果要从java应用程序提交请求,请使用
对所有参数进行编码URLEncoder.encode(parameterValue);
<小时/> 使用XSLT,尝试:
url:encode('your_url_goes_here');