gpt4 book ai didi

jsf - h:outputText似乎修剪空白,如何保留空白?

转载 作者:行者123 更新时间:2023-12-01 15:06:14 24 4
gpt4 key购买 nike

我有一个网页,可以动态查询数据库以在页面上显示数据,类似于Toad等数据库工具(当然,甚至不关门:),仅作为示例。

问题是在页面上显示数据时,数据会被修剪。这就是我使用JSF显示数据的方式

<h:outputText value="#{record[columnIndex].toDisplayString()}" />

我相信这是关于html渲染。我该怎么办?写一个HTML编码器?怎么样?帮助将不胜感激。

最佳答案

<h:outputText>完全不修剪值。
也许您在谈论值中的空白,例如前导/后跟空格,制表符,换行符,回车符等,这些默认情况下在HTML标记中完全没有意义。它只是成为HTML源代码的一部分,而不是HTML表示形式。例如,HTML中的换行符由<br>元素而不是\n字符表示。
如果要像在HTML源代码中一样保留HTML元素节点中的空格,则需要将父HTML元素的CSS white-space 属性设置为pre才能保留它。如果要在块元素中换行,请使用pre-wrap
例如。

<h:outputText ... styleClass="preformatted" />

.preformatted {
white-space: pre-wrap;
}
一种替代方法是自己将文本转换为有效的HTML标记。例如。用 \n字符串替换每次出现的 <br/>字符。您可以为此使用EL功能。
也可以看看:
  • Component to inject and interpret String with HTML code into JSF page
  • 关于jsf - h:outputText似乎修剪空白,如何保留空白?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10142600/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com