【发布时间】:2013-11-24 18:58:58
【问题描述】:
我在项目中有链接,带有空格渲染:
href="/plugins/configure/Poulpe Auth Plugin" - 这是来自页面源代码的示例。
当然,浏览器在发送到服务器之前会将空格编码为 %20,但我在 W3C 验证器中有错误:
Bad value /plugins/configure/Poulpe Auth Plugin for attribute href on element a: Whitespace in path component. Use %20 in place of spaces.
正如我在其他资源中看到的,在类似情况下,空格被替换为“-”、“+”或“_”。 我不确定在保存到数据库之前是否可以重写数据中的空格,所以我应该在设置参数请求之前处理它们吗?有人可以解释一下我应该在哪里处理查询参数空间,然后再将它们显示在 url 中?
【问题讨论】:
-
使用 org.springframework.web.util.HtmlUtils 进行 HTML 转义。
-
我试过了,但这种方法并没有解决我的问题
-
你为什么在你的项目 url 中使用空格?
-
您想在哪一侧处理空格?您是从数据库中获取 url 还是从 UI 获取以将它们存储在数据库中?
-
实际上我们在创建 url 时部分使用了对象名称 - ${plugin.name}:
href="${pageContext.request.contextPath}/plugins/configure/${plugin.name}"对象名称可以包含空格。我不确定我们是否应该保存没有空格的名称,我不知道在 url 中使用它们之前在哪里以及如何重写它们。