gpt4 book ai didi

java - 在JSP中的字符串中添加新行

转载 作者:行者123 更新时间:2023-12-02 04:28:31 25 4
gpt4 key购买 nike

我正在尝试将字符串作为请求属性传递给 JSP。reuqest.setAttriute("字符串", xml);

字符串来自 xml 文件,使用以下代码解析:

Document doc = dBuilder.parse(fXmlFile);    
DOMImplementationLS domImplementation = (DOMImplementationLS) doc.getImplementation();
LSSerializer lsSerializer = domImplementation.createLSSerializer();
String string= lsSerializer.writeToString(doc);

当我将此字符串放在控制台上时,我可以看到良好的格式化输出(与 XML 文件中完全相同,保留新行)。

当我尝试在 JSP 中显示该字符串时,我观察到未格式化的代码,该字符串不会形成新行符号。

这是 JSP 中的代码:

我试图使用 fn:replac e 函数,但它也不起作用(我试图将后者转换为 'a' 而不是 '\n' 只是为了测试忽略特殊字符的问题)。我可以看到<br />显示字符串中的标签,但不会转换为新行。

<c:set var="string2" value='${fn:replace(string, "a", "<br />")}' />

最佳答案

当您显示string2时,如果您使用 JSTL 显示它(我认为您是这样),则需要显式将 escapeXml 属性设置为 false。因为默认情况下 JSTL escapeXml 属性为 true,这会呈现诸如 <br/> 之类的标签。因为它是纯文本格式。因此,在 JSP 中显示字符串时,请像下面这样使用

<c:out value="${string}" escapeXml="false" />

这将解释任何 br字符串中的标签作为换行符

关于java - 在JSP中的字符串中添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31829076/

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