2013-04-09 1 views
0

Я сохранил базовый HTML в базе данных. Этот HTML-код находится в ValueStack в Action классе, который отображается как <s:property value="htmlcodeString"/> в JSP-файле.Как ускорить HTML в Struts2

Однако, HTML-код не интерпретируется, но бежал и отображается как есть (например. < б> BOLD </B> показан вместо BOLD).

Я использую Struts2. Я нашел много рекомендаций в Интернете, чтобы использовать <c:out value="${text}" escapeXml="false" />. Но я не знаю, что это. Как я могу использовать его в Struts2?

+2

Вы просмотрели документацию '', чтобы увидеть, нет ли аналогичного атрибута, чтобы отключить экранирование HTML/XML? http://struts.apache.org/development/2.x/docs/property.html Кстати, знаете ли вы, что когда речь идет о несанкционированном доступе, контролируемом пользователем, вы затем открываете открытое отверстие для атаки XSS сюда? – BalusC

ответ

4

The <s:property> tag имеет атрибут escapeHtml, который по умолчанию равен true.

(Надеюсь, по понятным причинам.)

<c:out> является частью JSTL, и использовать его в S2, как и в любой другой веб-приложение, с оговоркой, что это из-за запроса обертке S2 вы можете используйте JSP EL для доступа к стеку значений.

0

Я столкнулся с вопросом через Google и обнаружил, что добавление атрибута escapeHtml="false" заставило JSP перестать отображать. Вместо этого было просто escape="false.

+1

Атрибут 'escape' устарел несколько лет назад. –

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

  • Нет связанных вопросов^_^