休息呼叫不工作

时间:2017-01-13 10:41:49

标签: java rest jsp jstl scriptlet

我正在尝试使用一个休息调用,它接受os中的文件位置。 作为回报,其余的呼叫模拟文件的下载。

贝娄是代码

<div class="form-container">
        <h1>Welcome to CoinPay</h1>

        Click on below links to download Coin.<br /><br />

         <a href="<c:url value='/download/<%=request.getParameter("dest") %>' />">Coin Mobile
            Application</a>


    </div>

参数"dest"的值为D:/coinFiles/Coin-v1.1.8.apk

其余的呼叫定义如下:

@RequestMapping(value="/download/{dest}", method = RequestMethod.GET)
    public void downloadFile(HttpServletResponse response, @PathVariable("dest") String dest) throws IOException {
}

由于某种原因,href创建的链接无法访问其余的来电。

我该怎么办?任何帮助表示赞赏。 提前谢谢。

2 个答案:

答案 0 :(得分:1)

由于您的dest变量的值具有正斜杠,因此首先需要使用这样的注释在路径参数中启用斜杠

@RequestMapping(value = { "download/{dest:.+}" })

答案 1 :(得分:1)

如果您想创建/download?dest=testDest之类的链接,可以使用<c:param>

<c:url value="/download" var="myURL">
   <c:param name="dest" value="${dest}" />
</c:url>

<a href="${myURL}" />${myURL}</a>

请更改您的控制器。@RequestParam

@RequestMapping(value="/download", method = RequestMethod.GET)
public void downloadFile(HttpServletResponse response,@RequestParam("dest") String dest) {
     .......
}