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))%>