Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JSP中添加字符串中的新行_Java_Xml_String_Jsp - Fatal编程技术网

Java 在JSP中添加字符串中的新行

Java 在JSP中添加字符串中的新行,java,xml,string,jsp,Java,Xml,String,Jsp,我试图将一个字符串作为请求属性传递给JSP。 setAttriute(“字符串”,xml) 该字符串来自使用以下代码解析的xml文件: Document doc = dBuilder.parse(fXmlFile); DOMImplementationLS domImplementation = (DOMImplementationLS) doc.getImplementation(); LSSerializer lsSerializer = domImplementation.crea

我试图将一个字符串作为请求属性传递给JSP。 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'
,只是为了测试带有特殊字符的ommit问题)。我可以在显示的字符串中看到

标记,但它不会转换为新行

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

当您显示
string2
时,如果您使用JSTL显示它(我认为您是这样),则需要将escapeXml属性显式设置为false。因为默认情况下JSTL escapeXml属性为true,这将以纯文本格式呈现标签,如

。因此,在JSP中显示字符串时,请按如下所示使用它

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


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

可能一个
${string}
就足够了,不需要替换。工作非常完美!谢谢