xssAPI не может быть решена ошибка в моем компоненте JQ CQ5

Ниже приведен фрагмент кода:

<%@taglib prefix="cq" uri="http://www.day.com/taglibs/cq/1.0" %>
<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %>
<sling:defineObjects />
<cq:defineObjects />
 <label class="form_label" for="send_to"><%=xssAPI.encodeForHTML(sendToLabel)%></label>

Даже я включил global.jsp также все еще получаю ошибку компиляции

2 ответа

Решение

Какую версию CQ5 вы используете? Если это CQ 5.4, xssAPI недоступен в нем, когда вы включаете global.jsp.

Вместо этого вы можете использовать XSSProtectionService.class для защиты от XSS.

Служба XSSProtectionService может быть получена из sling.getService() и protectFromXSS() может быть использован.

final XSSProtectionService xss = sling.getService(XSSProtectionService.class);
xss.protectFromXSS(sendToLabel);

Я думаю, что проблема вызвана неизвестной переменной sendToLabel, Использовать properties ValueMap, чтобы получить это свойство:

<%=xssAPI.encodeForHTML(properties.get("sendToLabel", String.class))%>
Другие вопросы по тегам