Эта проблема может быть связана с той, которую я описал ранее здесь:
PrimeFaces 7.0 ‹p: textEditor HTML- sanitizer отменяет форматирование текста, например центрирование
но, по крайней мере, попытка отключить дезинфицирующее средство HTML в PrimeFaces 8 не помогло, проблема все еще существует. Чтобы воспроизвести это:
1.) Возьмите пример из демонстрации PrimeFaces, как он показан здесь:
https://www.primefaces.org/showcase/ui/input/textEditor.xhtml
Если вы используете PrimeFaces 8.0, просто увеличьте строку
<p:textEditor widgetVar="editor1" value="#{editorViewTest.text}" height="300" style="margin-bottom:10px"/>
атрибутом secure="false"
следующим образом:
<p:textEditor widgetVar="editor1" secure="false" value="#{editorViewTest.text}" height="300" style="margin-bottom:10px"/>
Напишите только одно слово, то есть заголовок, и отформатируйте его, выровняв по центру и сделав большой текст. Щелкните по кнопке «Отправить». Текст, который входит в метод setter () вспомогательного bean-компонента, НЕ ЦЕНТРИРУЕТСЯ, а имеет только большой размер.
Для демонстрации: 1.) Вот как форматируется текст в редакторе:
2.) Вот что я получаю в отладчике:
Для сравнения вот мой фейслет:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
lang="en">
<h:head>
<f:facet name="first">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</f:facet>
<title>Heimdi</title>
</h:head>
<h:body>
<h:form>
<p:textEditor widgetVar="editor1" secure="false" value="#{editorViewTest.text}" height="300" style="margin-bottom:10px"/>
<p:commandButton value="Submit"/>
</h:form>
</h:body>
</html>
и это компонент поддержки:
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
@Named("editorViewTest")
@RequestScoped
public class EditorView {
private String text;
private String text2;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getText2() {
return text2;
}
public void setText2(String text2) {
this.text2 = text2;
}
}