Java 1.3 Servlet getParameter用于作为URL的param

时间:2013-06-25 16:32:22

标签: java url xslt servlets getparameter

您好我试图获取请求参数是文件的URL路径:

我正在使用XSL文件中的模板用onclick事件“粘贴”div:

<div onclick="openPDF(700,500,'getDoc?pathpdf={./.}&amp;type=pdf&amp;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(./.) &gt;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}&amp;type=pdf&amp;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>

1 个答案:

答案 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');