2013-11-20 4 views
1

Проблема заключается в том, что с какой-то сервер Tomcat по ссылке теги, которые & в HREF значение переводится в &, когда страница отображается, но с другой котом 7.0.47 не и это выглядит очень странно, потому что это должно сработать.& не кодируется & использованием Tomcat 7.0.47

Я использую это:

<jsp:directive.page contentType="text/html;charset=UTF-8"/> 
<jsp:directive.page pageEncoding="UTF-8"/> 

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <meta http-equiv="X-UA-Compatible" content="IE=8"/> 
</head> 

Но он по-прежнему без работы ФОТ его TOMCAT версии.

Я использую spring-mvc, и проект был настроен с использованием spring-roo.

Проблема возникает в этом настраиваемом теге.

<menu:item id="fi_user_username" messageCode="global_menu_find" 
         url="/movies?find=ByMoviename&amp;form" 
         z="Pt1/VjKgu7t6Aha3OJt4uC0yZR4="/> 

Внутри пользовательского тега URL-адрес - $ {url}.

  <spring:url value="${url}" var="menu_item_url"/> 
      <a href="${menu_item_url}" title="${fn:escapeXml(label)}" id="${fn:escapeXml(id)}_a"> 
      <c:out value="${label}"/> 

Полотно, которое дается в браузере появляется элемент, как это:

<a id="fi_movie_moviename_a" title="Find by Moviename" href="/movie-server/movies?find=ByMoviename&amp;form" class="selected_movie_submenu">Find by Movie name</a> 

Tomcat имеет конфигурацию по умолчанию.

Спасибо за помощь.

+0

Я не в мире JAVA, но это не имеет никакого отношения к кодировке страниц или даже AFAIK на ваш веб-сервер. Не существует ли что-то вроде метода HtmlEncode() 'в JSP? –

+1

Вы не даете нам достаточной информации. Как вы показываете тег ссылки? Какой элемент вы используете для его отображения? Как это на самом деле появляется? Он не имеет ничего общего с совместимостью IE, ни с JSP, ни с UTF-8. –

+0

Дело в том, что для tomcat 7.0.47 не работает, и для Tomcat/7.0.39 это действительно так, я думаю, что-то о конфигурации tomcat, но когда я проверяю, что они почти одинаковы, кроме как в некоторых тегах mimetype в server.xml file – Josema

ответ

4

У меня была такая же проблема после обновления с 7.0.42 до 7.0.47. Похоже, что и «Tomcat», и тег Spring выходят &.

Чтобы предотвратить утечку Spring из URL-адреса, вы можете добавить htmlEscape="false" в тег url.

+0

Это сработало. Я добавил htmlEscape = "false" в свой собственный тег item.tagx, и это сработало. – Josema

+0

Нашел это после нескольких часов поиска моей ошибки =) THX !!!!!! – Starbax

0

У этой проблемы возникла и была использована работа htmlEscape="false", упомянутая выше. Оказывается, должно быть зафиксировано в Tomcat 7.0.50, хотя я не вижу в нем упоминается в журнале изменений:

http://tomcat.apache.org/tomcat-7.0-doc/changelog.html

Однако вполне возможно, что я пропустил.

Смежные вопросы