gpt4 book ai didi

jsf - h :outputText seems to trim whitespace, 如何保留空格?

转载 作者:太空宇宙 更新时间:2023-11-04 11:03:53 25 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为了保存它。如果您想在 block 元素中换行,请使用 pre-wrap .

例如

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

.preformatted {
white-space: pre-wrap;
}

另一种方法是自行将文本转换为有效的 HTML 标记。例如。替换所有出现的 \n字符由<br/>字符串。您可以为此使用 EL 函数。

另请参阅:

关于jsf - h :outputText seems to trim whitespace, 如何保留空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46628709/

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