【问题标题】:How to pass URL as parameter in Spring mvc如何在 Spring mvc 中将 URL 作为参数传递
【发布时间】:2013-09-19 21:25:09
【问题描述】:

我正在尝试在按钮提交时将 URL 从 jsp 传递到控制器

JSP 代码:

<input type="button" onClick="window.location='<c:url value="/tools/serverLogs/${logsPath}/"/>'" name="serverLogsPage" value="View all logs"/>

控制器:

@RequestMapping(value="/tools/serverLogs/{logsPath}",method=RequestMethod.GET)
public String showLogs( Model m, @PathVariable String logsPath) { 
 return "tools/ServerLogs";
}

我尝试以不同格式传递路径,但在访问控制器时出现错误。

例子:

logsPath = "C:\abc\def\ght";

logsPath = "C:\abc\def\ght" (在这种情况下,我没有收到任何错误,但在控制器中,路径看起来像 C:abc def ght);

logsPath = "C://abc//def//ght";

logsPath = "file://abc/def/ght";

【问题讨论】:

  • 您的转义字符似乎有问题...?
  • 您在上述其他示例中真正得到了什么?
  • 刷新页面时出现 404 错误。我认为这是因为 将像这样“/tools/serverLogs/C:/abc/def/ght”,并且控制器中没有此 URL 的方法

标签: java spring jsp spring-mvc


【解决方案1】:

您可以在将 logsPath 传递到视图之前对其进行编码,并在检索内容时对其进行解码

logsPath = "C:\abc\def\ght";
logsPath = URLEncoder.encode(logsPath, "UTF-8"); // Or "ISO-8859-1"

【讨论】:

    猜你喜欢
    • 2017-08-17
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    • 2023-03-20
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多