2013-11-24 2 views
0

У меня есть ссылки в проекте с рендером с пробелами: href="/plugins/configure/Poulpe Auth Plugin" - это пример из источника страницы.Как избежать пробелов в URL-адресах до отображения страницы в java

конечно же браузер кодирует пробелы как% 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. 

Как я видел в других ресурсах, в подобных ситуациях пространства были заменены «- ',' + 'или' _ '. Я не уверен, что я могу переписать пробелы в данных перед сохранением в db, так что я должен обрабатывать их перед тем, как задать параметры для запроса? Может кто-нибудь, пожалуйста, объясните мне, где я должен обрабатывать пространства параметров запроса перед отображением их в URL-адресах?

+0

Используйте org.springframework.web.util.HtmlUtils для HTML побега. –

+0

Я пробовал, но этот подход не решил мою проблему. – trierra

+0

Почему вы используете пробелы в своих URL-адресах проекта? –

ответ

0

Я нашел решение:

<a href="<spring:url value="${pageContext.request.contextPath}/plugins/configure/{pluginName}"> 
           <spring:param name="pluginName" value="${plugin.name}" /> 
          </spring:url>" 
           title="<spring:message code='label.plugins.plugin.configure.hint'/>"> 
           <spring:message code="label.plugins.plugin.configure"/> 
          </a> 

И у меня есть:

<a href="/plugins/configure/Poulpe%20Auth%20Plugin" data-original-title="Press to configure this plugin">Configure</a>